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()