2016-03-26 8 views
2

Ich verwende die vorbereitete Anweisung für CRUD in PHP. Mein Code-Schnipsel:Kürzere Art der Bindung zu viele Variablen in vorbereiteten Anweisung

$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); 

Dann habe ich die Variablen Bindung in bind_param Funktion wiederholen, wie bind_param("sssssssss", $var1, $var2, $var1, $var2, $var3..). Gibt es eine Möglichkeit, diese Bindung zu verkürzen?

+1

Sie könnten stattdessen ein Array verwenden und das an 'PDO-> execute' übergeben. –

Antwort

1

Sie können die Parameter an die ->execute()-Methode übergeben, wie folgt aus:

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

Wenn Sie die Parameter in einem Array zu halten, anstatt sie zu Variablen zuweisen und sie dann auf die vorbereitete Erklärung verbindlich eher werden kann trivial.

Verwandte Themen