$query = 'INSERT INTO user_answer (facebook_id, answer_id) VALUES (' . $i . ',' . $randAnswer . ')';
$dbh->exec($query);
我有这个代码,现在需要使用PDO :: bindValue()和PDO :: prepare()将其转换为预准备语句。看一下这些例子,我不知道该怎么做。 :name来自哪里,为什么要将它放在bindValue部分?
答案 0 :(得分:1)
在你的情况下,它看起来像这样:
$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));
您可能需要阅读a tutorial或两个,以了解如何有效地使用PDO。 PDO documentation也很不错。
这里的一般想法是放入名称值所在的:name
之类的内容,然后传入一个定义name
映射到的数组。
答案 1 :(得分:0)
没有无用的标签,它看起来会更好
$query = 'INSERT INTO user_answer (facebook_id, answer_id) VALUES (?,?)';
$stmt = $dbh->prepare($query);
$stmt->execute(array($i,$randAnswer));
至少你的查询适合屏幕。