0

3 つのオプション値を持つ選択ボックスがあります。ユーザーがいずれかを選択すると、ajax を使用してデータベース内のその値を自動的に更新したいと考えています。この SQL は、私が達成したいことに対して有効ですか?

UPDATE 
  Orders 
SET 
  status='".$_POST[order_status]['.$i.']."' 
WHERE 
  ID='".$_POST[order_no]      ['.$i.']."';

どうもありがとう。

4

2 に答える 2

1

このようにしてみてください

$sql ="UPDATE Orders SET
status='".$_POST['order_status'][$i]."' 
WHERE ID='".$_POST['order_no'][$i]."' ";
于 2012-09-12T10:40:48.353 に答える
0

文字列内の連結を間違って使用しています:

UPDATE Orders 
    SET status='".$_POST['order_status'][$i]."' 
    WHERE ID='".$_POST['order_no'][$i]."';

その理由は、すでに文字列を分割していて、配列内の値を使用したいからです。

あなたが持っているのは文字列です:

UPDATE Orders SET status='

そして、変数をそれに連結しています:

$_POST['order_status'][$i]

等々...

文字列間で連結を使用し、含める配列内で使用する必要はありません。

その点で$_POST、クエリ内でデータを使用することは危険です。準備されたステートメントを実際に使用する必要があります。つまり、変数を安全にバインドできます。

于 2012-09-12T10:35:22.277 に答える