PHP - 在双引号字符串中插入变量

时间:2017-04-28 20:11:20

标签: php mysql

我是新来的。我最近开始使用PHP,我想知道如何插入变量,并将它们放入单引号中,形成双引号字符串。 这是我尝试过的: $query = "INSERT INTO Table (Name, Activity) VALUES ('$name', '$activity');"; 但是当我检查$query时,它包含:INSERT INTO Table (Name, Activity) VALUES (,);。我不明白为什么会这样做,因为我写这篇文章时不是写上面的代码:$query = "INSERT INTO Table (Name, Activity) VALUES ($name, $activity);";(没有单引号),字符串包含:INSERT INTO Table (Name, Activity) VALUES (Robert, Book-seller);。有人有线索吗?

2 个答案:

答案 0 :(得分:2)

  

我如何插入变量,并将它们放入单引号中,形成双引号字符串。

不要那样做。它让您容易受到SQL injection攻击。而是使用prepared statements中描述的绑定参数this post

答案 1 :(得分:0)

我试过你的陈述:

$query = "INSERT INTO Table (Name, Activity) VALUES ('$name', '$activity');";

它与我完美配合。我猜你需要检查你在$ name和$ activity中传递的值。 (对罗伯特来说,书籍卖家很好地工作)。

仍然可以试试这个。它可能有所帮助:

$query = "INSERT INTO Table (Name, Activity) VALUES (\"$name\", \"$activity\");";

谨慎提醒:正如Alex Howansky所说,不要这样做。它让你容易受到SQL注入攻击。

希望它有所帮助。一切顺利!