【发布时间】:2013-03-12 14:36:13
【问题描述】:
希望有人可以在这里给我一些见解。
当必须一次向表中插入多行时,我使用了如下所示的 sql:
INSERT INTO some_names (firstName, lastName) VALUES ('Joe', 'Smith'),('Fred','Sampson'),('Lisa','Pearce')
如您所见,我在一条语句中插入了三行。我这样做的原因是我相信它比执行三个不同的语句来插入行更有效。
所以我的问题是:如果我希望能够将我的值绑定到语句,我该怎么做?不幸的是,我一直在寻找整个网络,我只能找到以下形式的单个语句示例:
$stmt = $mysqli->prepare("INSERT INTO some_names (firstName, lastName) VALUES (?, ?)");
$stmt->bind_param('ss', $firstName, $lastName);
$firstName = "Joe";
$lastName = "Smith";
$stmt->execute();
$firstName = "Fred";
$lastName = "Sampson";
$stmt->execute();
这似乎相当于执行单独的 INSERT 语句,而且似乎效率较低。
所以我的问题是:有没有办法在多插入语句中绑定?请在这里教育我!谢谢
【问题讨论】:
-
是的,但连接起来会不那么麻烦。顺便说一句重复的问题
-
谢谢,但如果它是重复的,你能指出另一个问题在哪里吗?
-
这是个坏消息。每天都有很多重复的问题(关于所有主题)出现,以至于不可能找到一个特定的问题。它可能已经被埋在 mysqli 标签下的 300 个以下的其他问题中了。
-
是的,我很难找到答案
-
我个人建议要么连接,要么 - 如果您想不惜一切代价坚持使用原生准备好的语句 - PDO 将花费大约十倍的精力来创建多插入查询。