私は PDO を学んでいますが、ステートメントが正しく機能することを確認するのは難しいと感じています。合計に1を追加するだけでデータベースを更新するPHP関数があります。
function add_rating($place_id,$rating_id) {
//make $db accessible inside the function
global $db;
// query v1
$sql = "UPDATE places_ratings SET ? +1 WHERE place_id=?";
$q = $db->prepare($sql);
$q->execute(array($rating_id,$place_id));
}
これのバリエーションを試しましたが、どれもうまくいきませんでした。疑問符の使い方が間違っていたかどうかはわかりません。私はこのガイドと以前のSOの質問に従っていました。最後に、最初に機能した別の方法を試したので、それを再利用したくなりました。
function add_rating($place_id,$rating_id) {
//make $db accessible inside the function
global $db;
// query v2
$query = "UPDATE places_ratings SET $rating_id = ($rating_id +1) WHERE place_id = $place_id";
$update = $db->query($query);
}
私の質問は次のとおりです。どのステートメントがより優れている/安全ですか? 第二に、疑問符が付いた最初のバージョンで何が間違っているのでしょうか? ありがとう...