Php MySQL调用函数中的“命令不同步”
我正在尝试清理我的PHP,特别是MySQL SP调用。我希望能够通过以下简单的函数调用来执行存储过程:Php MySQL调用函数中的“命令不同步”,php,mysql,mysqli,Php,Mysql,Mysqli,我正在尝试清理我的PHP,特别是MySQL SP调用。我希望能够通过以下简单的函数调用来执行存储过程: $result = run_procedure("sp_test(2)"); 我尝试了很多方法,但每次我遇到命令不同步时;现在无法运行此命令-多次执行函数时出错。 这是我的一次尝试。查看我如何将结果集的内容复制到数组中,并在返回数组之前释放结果集?为什么我仍然会出错 function run_procedure($procedure_string) { open_connect
$result = run_procedure("sp_test(2)");
我尝试了很多方法,但每次我遇到命令不同步时;现在无法运行此命令-多次执行函数时出错。
这是我的一次尝试。查看我如何将结果集的内容复制到数组中,并在返回数组之前释放结果集?为什么我仍然会出错
function run_procedure($procedure_string) {
open_connection(); // A seperate func that opens the global $db_connection;
$procedure_result = mysqli_query($GLOBALS["db_connection"], "CALL " . $procedure_string,MYSQLI_STORE_RESULT);
if (mysqli_errno($GLOBALS["db_connection"])) {
die("Query fail: " . mysqli_error($GLOBALS["db_connection"]));
}
$result_array = array();
while($row = mysqli_fetch_assoc($procedure_result)) {
$result_array[] = $row;
}
mysqli_free_result($procedure_result);
return $result_array;
}
我确实更愿意返回结果集,而不是在这里构建数组,但我也不能创建这样的世界
有什么好主意吗?还有人使用单独的函数执行MySQLi吗?该过程是否从一个无界选择返回多个结果集?我不是PHP专家,但可能需要获取更多数据并清除句柄?过程中只有一个select。但无论如何,如果我不调用SP,而是简单地使用相同的方法执行SQL,则会发生相同的情况……该过程是否从一个无界选择返回多个结果集?我不是PHP专家,但可能需要获取更多数据并清除句柄?过程中只有一个select。但无论如何,如果我不调用SP,而是简单地使用相同的方法执行SQL,同样的事情也会发生。。。