Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.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中的多个SQL命令_Php_Mysql_Mysqli - Fatal编程技术网

PHP和MySQL中的多个SQL命令

PHP和MySQL中的多个SQL命令,php,mysql,mysqli,Php,Mysql,Mysqli,在MySQL中,我可以一次执行多个命令,例如: Select * from Users; Select * from Classes; $sql=mysqli_query($link, "select * from Users;"); while($rows=mysqli_fetch_array($sql)){ echo "<div>$rows[0]</div><div>$rows[1]</div>"; } 在从PHP调用命令时如何执行

在MySQL中,我可以一次执行多个命令,例如:

Select * from Users; Select * from Classes;
$sql=mysqli_query($link, "select * from Users;");
while($rows=mysqli_fetch_array($sql)){
    echo "<div>$rows[0]</div><div>$rows[1]</div>";
}
在从PHP调用命令时如何执行相同操作,例如:

Select * from Users; Select * from Classes;
$sql=mysqli_query($link, "select * from Users;");
while($rows=mysqli_fetch_array($sql)){
    echo "<div>$rows[0]</div><div>$rows[1]</div>";
}
$sql=mysqli\u查询($link,“select*from Users;”);
while($rows=mysqli\u fetch\u数组($sql)){
回显“$rows[0]$rows[1]”;
}
但是,它不起作用:

$sql=mysqli_query($link, "select * from Users; Select * from Classes");
while($rows=mysqli_fetch_array($sql)){
    echo "<div>$rows[0]</div><div>$rows[1]</div>";
}
$sql=mysqli_query($link,“选择*来自用户;选择*来自类”);
while($rows=mysqli\u fetch\u数组($sql)){
回显“$rows[0]$rows[1]”;
}

我理解在实践中这可能没有必要。考虑我需要这个特定的问题来模拟或开发自己的版本的接口,使用PHP来管理MySQL数据库。

< P>可以通过“多查询”选项来实现这一点。
您不能同时运行两个查询,因为默认mysql总是在半列i之后执行最后一个查询。它将运行Select*from类。与其这样做,不如将两个查询合并

在MySQL
[控制台]
中,我可以一次执行多个命令

是的,你可以

但从技术上讲,它们是分开执行的

因此,对
mysqli\u query()
的两个后续调用将执行完全相同的操作

因此,拨打两个电话而不是一个电话是没有问题的。尤其是因为一次完成所有工作并不是一点都可以做到的


尽管您可以使用任何多查询解决方案,但这并没有多大意义,只会使代码过于复杂且容易出错。

使用串联语句。请看这里:您必须分别获取这两个语句。这样执行两个select语句,您希望得到什么结果?您将如何检索找到的数据?请重新思考您的问题…一般来说,您的方法可能有问题。请查看php手册中的mysqli_multi_查询,与mysqli_multi_查询一起执行2条SELECT语句是没有意义的,因为您永远无法获取第一条SELECT语句的结果。@Jocelyn-您可以获取我尝试过的SELECT语句的结果,我也得到了结果……@sandy,您如何处理不同的查询?如何区分这两个结果集?它是“mysqli\u more\u results”,用于标识不同的查询。在这里,我用“------------”分开,它负责这项工作。“mysqli_next_result”中断了多个查询的连接,然后在这个语句之后,您可以像以前一样使用常规查询……好的。有趣。以前从没见过。所以剩下的问题可能是这样做是否有任何好处,而不是两个单独的查询,这将使代码更简单。特别是当您需要访问结果字段,并且每个查询的结果字段都不同时。