1

準備されたmySQLクエリ内で次のようなPHP変数を使用することは可能ですか?

$stmt = $mysqli->prepare("UPDATE table SET $variable_field = ? WHERE field = ?");

カートの内容を保存するセッションがあるように、注文システム内で使用されています。注文した商品の総数は最後までわかりません。つまり、顧客が10個のアイテムを注文したとします。これらの値をitem_1、item_2、item_3などに挿入する必要があります。

私が達成したいこと:

<<connect to DB>>
$x = 0;
while($x < count($order_contents)) {
    $stmt = $mysqli->prepare("UPDATE table SET item_$x = ? WHERE field = ?");
    $stmt->bind_param("ss", $order_contents[$x], $order_number);
    $stmt->execute();
    $x++;
}
<<close DB connection>>

それらの線に沿ってかなり何か。問題は、クエリ内で直接PHP変数を指定できるようになっていることがわかりません。ヘルプや提案はありますか?

4

1 に答える 1

1
$x = 0;
while($x < count($order_contents)) {
    $x++;
    $stmt = $mysqli->prepare('UPDATE table SET item_'.$x.' = ? WHERE field = ?');
    $stmt->bind_param("ss", $order_contents[$x], $order_number);
    $stmt->execute();
}

$x++また、で開始したいので、をループの先頭に移動しましたitem_1

于 2012-04-17T17:13:27.870 に答える