3 つのオプション値を持つ選択ボックスがあります。ユーザーがいずれかを選択すると、ajax を使用してデータベース内のその値を自動的に更新したいと考えています。この SQL は、私が達成したいことに対して有効ですか?
UPDATE
Orders
SET
status='".$_POST[order_status]['.$i.']."'
WHERE
ID='".$_POST[order_no] ['.$i.']."';
どうもありがとう。
このようにしてみてください
$sql ="UPDATE Orders SET
status='".$_POST['order_status'][$i]."'
WHERE ID='".$_POST['order_no'][$i]."' ";
文字列内の連結を間違って使用しています:
UPDATE Orders
SET status='".$_POST['order_status'][$i]."'
WHERE ID='".$_POST['order_no'][$i]."';
その理由は、すでに文字列を分割していて、配列内の値を使用したいからです。
あなたが持っているのは文字列です:
UPDATE Orders SET status='
そして、変数をそれに連結しています:
$_POST['order_status'][$i]
等々...
文字列間で連結を使用し、含める配列内で使用する必要はありません。
その点で$_POST
、クエリ内でデータを使用することは危険です。準備されたステートメントを実際に使用する必要があります。つまり、変数を安全にバインドできます。