美好的一天好人。我尝试使用PHP将数据从mysql显示到web时出现未知错误。错误是:
mysqli_fetch_array()要求参数1为mysqli_result,在第17行的C:\ xampp \ htdocs \ form_2 \ guestbook.php中给出布尔值。 第17行是这样的:
while($row=mysqli_fetch_array($result))
我真的不知道问题在哪里,所以我希望你会帮助我。谢谢大家:D
这是我正在使用的代码 这是我正在使用的代码。我只想显示从数据库到网络的数据。
<?php
$con=mysqli_connect("localhost","root","","php_tests");
if (mysqli_connect_errno())
{
echo"Error connecting to database". mysqli_connect_error();
}
$result = mysqli_query($con,"SELECT * FROM test_mysql");
while($row=mysqli_fetch_array($result))
{
$ime=$row['name'];
$prezime=$row['lastname'];
$id_number=$row['id'];
echo'<table border="1" width="33%">
<tr>
<td>Ime:</td>
<td>'.$ime.'</td>
</tr>
<tr>
<td>Prezime</td>
<td>'.$prezime.'</td>
</tr>
</table>
';
}
mysqli_close($con);
?>
答案 0 :(得分:0)
这意味着您的查询执行失败。在尝试使用之前,您需要检查结果是否为false。
if (!mysqli_fetch_array($result)) {
printf("Error: %s\n", mysqli_fetch_array($con));
exit();
} else{
while($row=mysqli_fetch_array($result)){
.....
// Your code
}
}
如果查询中有错误,mysqli_fetch_array()会返回 FALSE 。所以你应该在使用while while循环之前对它进行测试......
<强> 更新 强>
<?php
$con=mysqli_connect("localhost","root","","php_tests");
if (mysqli_connect_errno()){
echo"Error connecting to database". mysqli_connect_error();
}
$result = mysqli_query($con,"SELECT * FROM test_mysql");
while($row=mysqli_fetch_array($result))
{
$ime=$row['name'];
$prezime=$row['lastname'];
$id_number=$row['id'];
echo '<table border="1" width="33%">
<tr>
<td>Ime:</td>
<td>'.$ime.'</td>
</tr>
<tr>
<td>Prezime</td>
<td>'.$prezime.'</td>
</tr>
</table>';
}
mysqli_close($con);
?>
没有检查它的工作完美,但在你的情况下不工作,所以你可以尝试检查是否有条件。希望这能帮到你!