PHP 语句同步或异步

问题描述 投票:0回答:2

早上好, 我想知道 PHP 的准备语句是同步的还是异步的,例如:

$req1 = "UPDATE ...";
$statement1 = $connection->prepare($req1);
$statement1->execute();

$req2 = "SELECT ...";
$statement2 = $connection->prepare($req2);
$statement2->execute();

因此第二个请求的结果依赖于第一个请求,这可能会导致问题或错误的结果,换句话说,第二个请求有可能在第一个请求之前执行。

我寻找答案,但还没有找到明确的答案。 谢谢你。

php sql asynchronous synchronous
2个回答
4
投票

数据库查询是同步执行的。但不要相信我的话,请查看手册:

PDO: http://php.net/manual/en/pdostatement.execute.php

由于成功时方法结果为 TRUE,失败时方法结果为 FALSE,因此您可以推断它是同步的。

MySQLi:http://php.net/manual/en/mysqli-stmt.execute.php

这里也一样。因此,请检查文档,如果execute()返回与结果相关的内容,您就知道它必须是同步的。


0
投票

基本上,PHP 语句是同步的。有一个简单的例子证明它是同步的。 看这个例子:

<?php 
    $a = 10;
    $b = 20;
    echo $b;
    sleep(5);
    echo $a;

在此代码中,首先清除时间,然后打印下一个变量。

© www.soinside.com 2019 - 2024. All rights reserved.