$query = 'INSERT INTO user_answer (facebook_id, answer_id) VALUES (' . $i . ',' . $randAnswer . ')';
$dbh->exec($query);
我有这段代码,现在需要使用 PDO::bindValue() 和 PDO::prepare() 将其转换为准备好的语句。看看这些例子,我不知道该怎么做。:name 来自哪里,为什么要把它放在 bindValue 部分?
$query = 'INSERT INTO user_answer (facebook_id, answer_id) VALUES (' . $i . ',' . $randAnswer . ')';
$dbh->exec($query);
我有这段代码,现在需要使用 PDO::bindValue() 和 PDO::prepare() 将其转换为准备好的语句。看看这些例子,我不知道该怎么做。:name 来自哪里,为什么要把它放在 bindValue 部分?
在您的情况下,它看起来像这样:
$st = $dbh->prepare("INSERT INTO user_answer (facebook_id, answer_id) VALUES (:facebook_id, :answer_id)");
$st->execute(array('facebook_id' => $i, 'answer_id' => $randAnswer));
您可能需要阅读一两个教程来了解如何有效地使用 PDO。PDO 文档也很不错。
这里的一般想法是放入:name
名称值所在的位置,然后传入一个定义name
映射到什么的数组。
没有无用的标签,它看起来好多了
$query = 'INSERT INTO user_answer (facebook_id, answer_id) VALUES (?,?)';
$stmt = $dbh->prepare($query);
$stmt->execute(array($i,$randAnswer));
至少您的查询适合屏幕。