为什么在我的服务器上使用PHP Mysqli_fetch_row而不是Mysqli_fetch_assoc?

时间:2011-08-17 07:45:32

标签: php mysql apache

我对使用PHP时如何调试和处理错误有所了解。然而,这是一个异常。

通过mysqli成功创建与Mysql数据库的连接后,我尝试从中获取结果。

if($result = $db->query($query)) {

$num_results = $result->num_rows;  
echo "<p> Number of books found: ".$num_results."</p>";
$row = $result->fetch_assoc();  //no problem if I use fetch_row

奇怪的是,整个页面崩溃,浏览器显示“无法显示网页”。

我尝试找出问题并替换“$ row = $ result-&gt; fetch_assoc();”行“$ row = $ result-&gt; fetch_row();”它成功地从数据库中获取结果(为了简洁起见,我没有在这里显示上面/下面的代码)。

事实证明,“fetch_array”和“fetch_object”也失败了。一旦我发表评论,编码的另一部分工作得很好。所以我只是想知道fetch_row如何工作,但“fetch_array / object / assoc”似乎使整个页面崩溃(不只是函数本身,也没有PHP错误消息)。

1 个答案:

答案 0 :(得分:0)

您没有看到错误,因为您没有启用错误,我相信您没有使用正确的功能拨打fetch arrayfetch association,在您的班级中搜索正确的功能,因为我相信fetch_array()fetch_assoc()会在php中引发致命错误。

在您的apache日志中搜索。

尝试在您的php文件中添加:

ini_set('display_errors', E_ALL);
error_reporting(E_ALL);