MySQL打开游标导致错误“POST myphp.php net :: ERR_CONNECTION_RESET”

时间:2015-12-02 19:53:24

标签: php mysql cursor

我在MySQL中有一个从PHP文件运行的存储过程。只要我在存储过程中注释掉所有游标处理(除了声明),一切都很好。

但是,如果我离开open myCursor;运行(有或没有close myCursor;),我会收到错误'POST myphp.php net :: ERR_CONNECTION_RESET'。

光标的定义没有区别。我已经尝试将光标的选择更改为非常简单的选项。

尽管出现错误,但使用游标进行的处理仍然有效,并且存储过程会继续将其进度记录到最后。只有当它回到PHP时,它才会在没有明显原因的情况下崩溃。

我能看到的唯一可能是光标破坏结果,可能是通过产生一些警告信息,但如果是这样,我不知道哪条消息或如何处理它并且没有明显的错误消息原因,特别是因为我不必像光标上的单个Fetch那样运行以产生问题。

以下是存储过程的运行方式:

if ($stmt2 = mysqli_prepare($con, "call mySP(?)")) {#Store statement
   mysqli_stmt_bind_param($stmt2, 's', $par);
   mysqli_stmt_execute($stmt2);
   $result = mysqli_stmt_get_result($stmt2);

mysqli_stmt_execute($stmt2);是我能说的最后一行。 PHP的其余部分中没有任何内容在$result = mysqli_stmt_get_result($stmt2);之后运行。

请注意,如果在mysqli_stmt_execute($stmt2);之后我输出mysqli_stmt_errno($stmt2).','.mysqli_stmt_error($stmt2)我得到'0',那么mysqli_stmt_execute($stmt2);

看起来没有错误

为了完整起见,这里是用于调用PHP的javascript的摘录:

$.ajax({
            type : "POST",
            url : "./php/myphp.php",
            cache : false,
            data : {
                sheet : JSON.stringify(userJson)
            },
            datatype : "json"
        }).done(function(result) {

请帮助我,因为我正在撕裂我的头发,我找不到调试它或解决它。

0 个答案:

没有答案