2016-03-26 6 views
2

私はPHPでCRUDの準備文を使用しています。私のコードスニペット:あまりにも多くの変数をあらかじめ用意したステートメントにバインドする方法が短くなっています

$SQL="INSERT INTO Dress(DressID, Description, Size, Price, EntryDate, CategoryID, ColorID) 
      VALUES (?, ?, ?, ?, ?, ?, ?) 
      ON DUPLICATE KEY UPDATE Description=?, Size=?, Price=?, EntryDate=?, CategoryID=?, ColorID=?"; 
     $stmt=$connection->prepare($SQL); 
     $stmt->bind_param("ssssss", $ColorID, $Color, $Color); 

はその後、私はbind_param("sssssssss", $var1, $var2, $var1, $var2, $var3..)のように、bind_param機能で結合変数を繰り返さなければなりません。 このバインディングを短縮する方法はありますか?

+1

代わりに配列を使用し、それを 'PDO-> execute'に渡すことができます。 –

答えて

1

あなたはこのように、->execute()メソッドにパラメータを渡すことができます。

$stmt->execute([123, 'red', 'green', ... ]); 

あなたの代わりにかなりになることができプリペアドステートメントにそれらを結合、その後、変数に割り当てることで、配列内のパラメータを保持する場合簡単。

関連する問題