gpt4 book ai didi

PHP MySQLi 多重插入

转载 作者:行者123 更新时间:2023-12-04 22:11:39 24 4
gpt4 key购买 nike

我想知道准备好的语句是否与具有多个 VALUES 的普通 mysql_query 一样工作。

INSERT INTO table (a,b) VALUES ('a','b'), ('c','d');

对比

$sql = $db->prepare('INSERT INTO table (a,b) VALUES (?, ?);

如果我在一个循环中使用准备好的语句,MySQL 是在后台优化插入以像在第一段代码中那样工作,还是就像在一个循环中运行第一段代码一样每次值?

最佳答案

我继续运行测试,其中一个查询使用准备好的语句,另一个构建整个查询然后执行它。我可能没有让我想知道的东西变得容易理解。

这是我的测试代码。我在想准备好的语句会阻止执行,直到调用 $stmt->close() 来优化它或其他东西。情况似乎并非如此,因为使用 real_escape_string 构建查询的测试至少快 10 倍。

<?php

$db = new mysqli('localhost', 'user', 'pass', 'test');

$start = microtime(true);
$a = 'a';
$b = 'b';

$sql = $db->prepare('INSERT INTO multi (a,b) VALUES(?, ?)');
$sql->bind_param('ss', $a, $b);
for($i = 0; $i < 10000; $i++)
{
$a = chr($i % 1);
$b = chr($i % 2);
$sql->execute();
}
$sql->close();

echo microtime(true) - $start;

$db->close();

?>

关于PHP MySQLi 多重插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1488033/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com