【发布时间】:2015-03-31 17:08:06
【问题描述】:
真的,当我无法检测到发生了什么错误时,这让我发疯。我受不了了。
我设法连接到 MySQL,并通过以下方式进行检查:
$connection = mysqli_connect(HOST, USER, PASS, DB) or die('Could not connect!');
if($connection){
echo 'It's connected!';
}
是的,就是说连接。然后,当我尝试查询时,它会失败而不会报告错误。我试过这样做来检查它是否失败:
$query = "SELECT $field FROM users WHERE id = ".$_SESSION['user_id'];
$result = mysqli_query($dbc, $query);
if($result){
echo 'Query OK';
}else{
echo 'Query failed';
}
浏览器提示:查询失败。所以,我的查询中有错误。然后我用这个回应了这个查询:
echo $query;
// Printed in the browser: SELECT firstname FROM users WHERE id = 1
复制该值并在 phpMyAdmin 中使用它。有用。所以,我猜mysqli_query 函数中发生了错误。但我无法收到错误消息,所以我不知道发生了什么。我试过这个:
$result = mysqli_query($dbc, $query) or die(mysqli_error($dbc));
还有这个:
if(!$result){
echo mysqli_error($dbc);
}
什么都没有发生。浏览器只是空白。然后,我试图改变这个:
$result = mysqli_query($dbc, $query);
到这里:
$result = mysqli_query($query);
仍然没有任何反应。这是怎么回事?我怎么知道发生了什么错误?
我在 Debian 中使用 phpinfo() 运行服务器:PHP 版本 5.4.36-0+deb7u3
【问题讨论】:
-
您检查过您的
error_reporting和display_errors设置吗?另外,你不是在你的机器上调试,而是在远程服务器上调试? :// -
@Andrea 抱歉,如何检查这些设置?我正在远程服务器上进行编辑。实际上,我远程安装了 VirtualBox 中的服务器。
-
你看到了吗:http://stackoverflow.com/questions/845021/how-to-get-useful-error-messages-in-php?您是否在您的网络服务器和 PHP 中都启用了错误日志记录?你检查过你的网络服务器错误日志和 PHP 的错误日志吗?
标签: php mysqli error-reporting