[英]Can't pass a VAR into PDO SQL query
for some reason I can't pass a VAR into a PDO SQL query . 由于某种原因,我无法将VAR传递给PDO SQL查询。
<?php
$hostname = "host";
$username = "username";
$password = "pass";
$score = "B" ;
try {
$dbh = new PDO("mysql:host=$hostname;dbname='DBNAME'", $username, $password);
echo "Connected to database"; // check for connection
$dbh->exec("UPDATE Quiz1 SET '$score' = 1 WHERE Question = 1"); // THIS DOES NOT
//$dbh->exec("UPDATE Quiz1 SET B = 1 WHERE Question = 1"); // THIS WORKS
}
catch(PDOException $e)
{
echo $e->getMessage();
}
?>
$dbh->exec("UPDATE Quiz1 SET `$score` = 1 WHERE Question = 1");
如果由于某种原因必须引用表名或列名,那么你必须在MySQL中使用`。
You use the $score
variable here as an attribute name and attribute names should not be in quotes. 您在此处使用
$score
变量作为属性名称,属性名称不应在引号中。 Try this: 尝试这个:
$dbh->exec("UPDATE Quiz1 SET $score = 1 WHERE Question = 1");
(I haven't tested.) (我没有测试过。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.