我是新来的。我最近开始使用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);
。有人有线索吗?
答案 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注入攻击。
希望它有所帮助。一切顺利!