我有一个数据库,里面有4条记录。我想显示其中有reg_no =“IT17052498”的记录详细信息(我已经在数据库中记录了该记录)。但它给出了错误,如
“警告:mysqli_fetch_array()要求参数1为mysqli_result,在第85行的C:\ xampp \ htdocs \ labsheet 10 \ addcomment.php中给出布尔值”
数据库连接如名称(db_connect.php)
<?php
$hostname = "localhost";
$username = "root";
$password = "";
$mysql_db = "iwt";
$connection = mysqli_connect($hostname,$username,$password,$mysql_db);
if(!$connection)
{
die("Error : ".mysqli_error($connection));
}
else
{
echo "Successfully Connected!<br>";
}
?>
这是我的PHP代码..
<html>
<body>
<table border="1">
<tr>
<th>Registration Number</th>
<th>Student Name</th>
<th>Comment on ITA</th>
</tr>
<?php
if(isset($_POST["btn_search"]))
$srch = $_POST["search"];
$query = "SELECT * FROM library_comment WHERE regNo = $srch";
$exst = mysqli_query($connection,$query);
while($row = mysqli_fetch_array($exst))
{
?>
<tr>
<td><?php echo $row['regNo'] ?></td>
<td><?php echo $row['name'] ?></td>
<td><?php echo $row['comment'] ?></td>
</tr>
<?php
}
?>
</table>
</body>
答案 0 :(得分:1)
我甚至不使用PHP,但错误消息显示问题出现在调用mysqli_fetch_array()
的第一个参数中:
mysqli_fetch_array($exst)
具体来说,$exst
应该是mysqli_result
个对象,但它实际上是boolean
(true
或false
)。
$exst
来自这一行:
$exst = mysqli_query($connection,$query);
失败时返回
FALSE
。要成功 SELECT , SHOW , DESCRIBE 或 EXPLAIN 查询mysqli_query()
将返回mysqli_result
对象。
换句话说,mysqli_query
失败并返回false
,并且您的代码没有检查错误,它只是假设一切正常。这是您问题的直接来源。
另一方面,文档也说
查询中的数据应为properly escaped。
您的代码无法逃避任何事情。这可能是查询失败的原因。