简体   繁体   English

无法将VAR传递给PDO SQL查询

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM