我无法收到警告 sql查询正在运行,mysqli_query()返回1,每次我的数据库也在更新。有什么问题?
警告:mysqli_num_rows()要求参数1为mysqli_result,第55行的C:\ xampp \ htdocs \ qq \ index.php中给出布尔值
的代码
<?php
try{
$host="localhost";
$user="deb";
$password="12345";
$database="1";
$conn=mysqli_connect($host,$user,$password,$database);
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
echo "connected succesfully";
}catch(Exception $e){
echo $e->getMessage();
}
$select=mysqli_select_db($conn,$database);
if($select)
{
echo "yipee";
}
echo "<table>
<thead>
<tr>
<th>Id</th>
<th>Value</th>
<th>Threshold Value</th>
<th>Chances of Fire</th>
</tr>
</thead>";
$val=$_GET["val"];
错误在此代码中:
$tval=$_GET["tval"];
if ($val<$tval) {
$res="less ";
}
else{$res="exreme ";}
$sql1="INSERT INTO sensor (val,tval,result) VALUES
('".$val."','".$tval."','".$res."')";
$que=mysqli_query($conn,$sql1);
if($que)
{
if(mysqli_num_rows($que))
{
while ($data=mysqli_fetch_array($que))
{
echo "<tr>";
echo "<td>".$data['id']."</td><td>".$data['val']."/td>
<td>".$data['tval']."</td><td>".$data['result']."</td>";
echo"</tr>";
}
}
else{
echo "nooooooo";
}
}
echo"</table>"
? >
即使我正在删除mysqli_num_rows上的显示错误
答案 0 :(得分:1)
根据另一个问题Hardware Security Module:
INSERT
命令将返回一个布尔值(true / false),所以你必须使用select命令来获得所需的结果
答案 1 :(得分:1)
您获得的错误是因为INSERT查询失败,因此mysqli_query()返回false以指示查询失败。成功的查询将返回一个mysqli_result()对象。检查$ sql1的内容是否有语法错误。
您可以在插入查询后使用mysqli_error()来获取MySQL返回的错误。
不过,您对SQL注入攻击持开放态度! $ tval的值直接来自用户,没有任何尝试验证或消毒它!你应该使用准备好的陈述。