1

何らかの理由で、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();
    }
?>
4

2 に答える 2

2
$dbh->exec("UPDATE Quiz1 SET `$score` = 1 WHERE Question = 1");

何らかの理由でテーブルまたは列の名前を引用する必要がある場合は、MySQL で ` を使用する必要があります。

于 2012-07-22T09:31:24.257 に答える
1

$scoreここでは変数を属性名として使用します。属性名は引用符で囲んではいけません。これを試して:

$dbh->exec("UPDATE Quiz1 SET $score = 1 WHERE Question = 1");

(私はテストしていません。)

于 2012-07-22T08:07:14.563 に答える