Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.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 $rows在尝试第二次查询后返回null_Php_Mysql - Fatal编程技术网

Php $rows在尝试第二次查询后返回null

Php $rows在尝试第二次查询后返回null,php,mysql,Php,Mysql,我试图从数据库中填充两个下拉列表,所以我尝试进行一个查询并填充第一个下拉列表,然后尝试进行第二个查询并填充最后一个下拉列表 它将第二个$rows返回为false,但第一个是ok,我做错了什么 <?php $db = new Db(); $rows = $db -> select("call Store1(0,0);"); var_dump($rows); $rows = $db -> select("call Store1(0,0);");

我试图从数据库中填充两个下拉列表,所以我尝试进行一个查询并填充第一个下拉列表,然后尝试进行第二个查询并填充最后一个下拉列表

它将第二个$rows返回为false,但第一个是ok,我做错了什么

<?php 
  $db = new Db();     
  $rows = $db -> select("call Store1(0,0);");
  var_dump($rows);  
  $rows = $db -> select("call Store1(0,0);");           
  var_dump($rows);
?>  
我的猜测(这只是一个猜测…)

第一个结果集(光标)仍处于打开状态。光标尚未关闭。(Myabe当前结果集中还有更多尚未提取的行。或者尚未通过发出关闭命令放弃

尝试准备(执行)第二条语句(在同一数据库连接上)会导致错误

(阿吉安,这只是猜测,决不是对问题的实际诊断。)


我建议我们启用错误报告。如果SQL语句执行返回false,那么我们需要从数据库中检索错误代码和错误消息。或者考虑启用PDO异常,这样就可以抛出错误,这样我们就可以看到它们了。(类似的可能是使用MySQLi。)

FALSE的返回告诉我们发生了错误,但它没有告诉我们错误是什么(如果没有它,就很难知道要修复什么)

在某些情况下,可能是我们不在乎错误是什么。在这种情况下,很明显我们在乎。我们的工作是找出错误是什么……在不诊断错误的根本原因的情况下,任何试图开处方的行为都将是“尝试这个”和“尝试那个”在黑暗中不瞄准射击,希望击中某物


建议阅读:


在任何人能够以有意义的方式帮助您之前,您需要提供以下内容。两个存储过程的定义(至少第二个),SPs从中提取的相关模式/示例数据,预期结果,实际/当前结果,以及您收到的任何错误。我不敢相信这里有投票权取消删除OP的问题,并标记为“非答案”并删除。现在这太有趣和令人困惑了。民主伙伴。
public function select($query) { 
 $rows = array();
 $result = $this -> query($query);
 if($result === false)
 {
   return false;
 }
 while ($row = $result -> fetch_assoc())
 {
   $rows[] = $row;
 }
 return $rows; 
} 


public function query($query) {
  $connection = $this -> connect();
  $result = $connection -> query($query); 
  return $result; 
}