Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 前一个查询完成后,如何执行对mysql的查询?_Php_Mysql - Fatal编程技术网

Php 前一个查询完成后,如何执行对mysql的查询?

Php 前一个查询完成后,如何执行对mysql的查询?,php,mysql,Php,Mysql,我有一个简单的问题,我想知道如何在前一个查询结束时运行数据库查询。 在我的例子中,我正在进行插入,然后对插入进行更新。 由于插入尚未完成,因此不更新 这些都是用php编写的 $id_mensaje_converted = "123"; $body_str = "Hello"; $consulta = "INSERT INTO mensajes (id_mensaje, body) VALUES ('$id_mensaje_converted', '$body_str')"; $resulta

我有一个简单的问题,我想知道如何在前一个查询结束时运行数据库查询。 在我的例子中,我正在进行插入,然后对插入进行更新。 由于插入尚未完成,因此不更新

这些都是用php编写的

$id_mensaje_converted = "123";
$body_str = "Hello";

$consulta = "INSERT INTO mensajes (id_mensaje, body) VALUES ('$id_mensaje_converted', '$body_str')";
$resultado = mysqli_query( $conexion, $consulta );

//Then by post I receive a status

if (isset($_POST['status'])){
    $status_str = $_POST['status'];
    $consulta = "UPDATE mensajes SET status = '$status_str' WHERE id_mensaje ='$id_mensaje_converted'";
    $resultado = mysqli_query( $conexion, $consulta );
}

为什么要将其标记为“异步”?PHP是同步的,将按顺序执行语句。这里还有别的事情。请打开错误报告。此外,您还非常容易受到SQL注入攻击。查看准备好的语句。一种检查错误的简单方法-将其添加到脚本顶部:
mysqli_报告(mysqli_报告错误| mysqli_报告严格);ini设置(“显示错误”,1);ini设置(“显示启动错误”,1);错误报告(E_全部)
然后还可以看到我发布的第一个链接。请在进行这些更改后发回。谢谢!只有在
INSERT
查询使用标志
MYSQLI\u ASYNC
作为
MYSQLI\u query()
的第三个参数时,才可能执行此操作。通常,该
mysqli\u query()
调用将一直阻塞,直到DBMS完成请求,随后的
更新应该可以工作。你的代码中可能还有其他问题,导致了你正在经历的任何奇怪的行为。此外,为了对婴儿耶稣的爱,请使用。。。