在预准备语句中绑定太多变量的更短方式

时间:2016-03-26 12:40:08

标签: php prepared-statement

我在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函数中的变量绑定,如bind_param("sssssssss", $var1, $var2, $var1, $var2, $var3..)。 有没有办法缩短这种约束力?

1 个答案:

答案 0 :(得分:1)

您可以将参数传递给->execute()方法,如下所示:

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

如果将参数保留在数组中,而不是将它们分配给变量,那么将它们绑定到预准备语句可能会变得相当简单。