Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.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_Mysqli_Prepared Statement - Fatal编程技术网

Php MYSQL查询有问题吗

Php MYSQL查询有问题吗,php,mysql,mysqli,prepared-statement,Php,Mysql,Mysqli,Prepared Statement,我的函数获取$status(0-error,1-success),$err\u id(数据库中错误消息的id)和$field(输入字段的名称)变量,并使用给定的变量从数据库中获取错误消息 在每个步骤中尝试die()以检测错误发生的位置,同时放置die($status.$err\u id.$field)紧跟在函数err之后。没有成功 使用netbeans进行调试。在函数中标记调试停止的行 $msg始终为空。无法从数据库中获取它。php错误日志中没有错误。可能是我的代码出错了?请看一看 functi

我的函数获取
$status
(0-error,1-success),
$err\u id
(数据库中错误消息的id)和
$field
(输入字段的名称)变量,并使用给定的变量从数据库中获取错误消息

在每个步骤中尝试
die()
以检测错误发生的位置,同时放置
die($status.$err\u id.$field)紧跟在函数
err
之后。没有成功

使用netbeans进行调试。在函数中标记调试停止的行

$msg始终为空。无法从数据库中获取它。php错误日志中没有错误。可能是我的代码出错了?请看一看

function err($status, $err_id = 0, $field = 0)
{
        global $db;
        if ($status == 0) {
                $stmt = $db->prepare("SELECT msg FROM err_msgs WHERE field = ? AND id= ?") or die(htmlspecialchars($db->error));
                $stmt->bind_param("si", $field, $err_id) or die(htmlspecialchars($stmt->error));
                $stmt->execute() or die(htmlspecialchars($stmt->error));
                $stmt->bind_result($msg) or die(htmlspecialchars($stmt->error));

                >>debug stops here>> $stmt->fetch() or die(htmlspecialchars($stmt->error));

                response('error', $msg);
                $stmt->close();
                die();

        } else {
                response('success', 'Success!');

        }

}

尝试切换这两行:

$stmt->execute() or die(htmlspecialchars($stmt->error)); 
$stmt->bind_result($msg) or die(htmlspecialchars($stmt->error));


绑定结果后我忘了取

$stmt->fetch()

检查apache错误日志?在php有机会自己记录任何东西之前,可能会有什么东西杀死它。@MarcB你有即时通讯吗?我的skype:untal.teyyuboglu。请添加我,以便我们可以与您聊天。我头痛,不能让它工作。尝试了所有可能的方法,只需要另一双开发人员的眼睛从另一个方面查看代码对不起,apache错误日志是我所能想到的全部。如果没有任何类型的错误消息,几乎不可能进行诊断。PHP错误日志中没有错误。您没有看到我的函数中有任何错误吗?apache的错误日志可以与php日志分开。代码看起来很好,所以可能是其他的。“请注意,所有列都必须在mysqli_stmt_execute()之后和调用mysqli_stmt_fetch()之前绑定。”请参阅我在我的站点论坛上做了一些测试的文档,这两种方式都有效,执行前后都有bind_结果。我可以发誓,我记得为了让它工作,我不得不把它从之后切换到之前。。。
$stmt->fetch()