gpt4 book ai didi

php - mysqli_prepare 和 mysqli_query 哪个更快?

转载 作者:行者123 更新时间:2023-11-29 22:19:14 25 4
gpt4 key购买 nike

哪个更快:

1.

$name  = $sql->real_escape_string($_POST['name']);
$age = $sql->real_escape_string($_POST['age']);
$email = $sql->real_escape_string($_POST['email']);

$query = "INSERT INTO `tablename` VALUES ('$name','$age','$email');";

$sql->query($query) or die($query.'<br />'.$sql->error);

2.

 $name  = $_POST['name'];
$age = $_POST['age'];
$email = $_POST['email'];

$query = $sql->prepare("INSERT INTO `tablename` VALUES ('?','?','?');");

$query->bind_param("sis",$name,$age,$email);
$query->execute();

当使用prepare和bind参数时,您将向mysql数据库发送更多请求,这将花费更多时间,因为有更多请求,并且每个请求都有它的连接时间。

如果 mysql 数据库不在本地主机服务器中,则情况如此。

这个说法正确吗?谢谢

最佳答案

在sql中使用prepared语句的实际目的是为了降低处理查询的成本;不要将数据与查询分开。这就是它现在与 php 一起使用的方式,而不是它最初设计的使用方式。使用 SQL,您可以通过使用准备好的语句来降低执行多个类似查询的成本。这样做可以减少解析、验证,并且通常会预先为所述查询生成执行计划。这就是为什么它们在循环中运行得比它们的 IMMEDIATE Query 表亲更快。不要认为仅仅因为有人以这种方式使用 php 和此函数并不意味着它是正确的方式或唯一的方式。虽然它比一般查询更安全,但它们的功能也更有限,或者更准确地说,您可以如何去做。

我认为下面的引用链接对您有用: http://code.tutsplus.com/tutorials/pdo-vs-mysqli-which-should-you-use--net-24059

关于php - mysqli_prepare 和 mysqli_query 哪个更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30912525/

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