早上好, 我想知道 PHP 的准备语句是同步的还是异步的,例如:
$req1 = "UPDATE ...";
$statement1 = $connection->prepare($req1);
$statement1->execute();
$req2 = "SELECT ...";
$statement2 = $connection->prepare($req2);
$statement2->execute();
因此第二个请求的结果依赖于第一个请求,这可能会导致问题或错误的结果,换句话说,第二个请求有可能在第一个请求之前执行。
我寻找答案,但还没有找到明确的答案。 谢谢你。
数据库查询是同步执行的。但不要相信我的话,请查看手册:
PDO: http://php.net/manual/en/pdostatement.execute.php
由于成功时方法结果为 TRUE,失败时方法结果为 FALSE,因此您可以推断它是同步的。
MySQLi:http://php.net/manual/en/mysqli-stmt.execute.php
这里也一样。因此,请检查文档,如果execute()返回与结果相关的内容,您就知道它必须是同步的。
基本上,PHP 语句是同步的。有一个简单的例子证明它是同步的。 看这个例子:
<?php
$a = 10;
$b = 20;
echo $b;
sleep(5);
echo $a;
在此代码中,首先清除时间,然后打印下一个变量。