如何表达查询成功?

请看这里,
查询成功的表达方式

if ($conn->query($sql) === TRUE) {
    echo "新记录插入成功";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

请看我的代码:

<form action="" type="text" method="get">
<div>
    查找留言:请输入关键字
    <input type="text" name="keyword">
    <select id="" name="sel">
        <option value="title">文章标题</option>
        <option value="content">文章内容</option>
        <input type="submit" value="查询">
    </select>
</div>
</form>

<?php
    require('conn.php');
    $keyword = trim($_GET['keyword']);
    $sel = $_GET['sel'];
    $sql = "SELECT * FROM lyb where $sel  " . "  like '%$keyword%'";
    if ( $mysqli->query($sql) === TRUE) {
        echo "查询成功<br />";
    } else {
        echo "查询失败</br />" . $mysqli->error;
    }
    $result = $mysqli->query($sql);
    echo "$result->num_rows"."<br />";
    var_dump($result);
?>

查询失败
20
object(mysqli_result)#2 (5) { ["current_field"]=> int(0) ["field_count"]=> int(8) ["lengths"]=> NULL ["num_rows"]=> int(20) ["type"]=> int(0) }

前后矛盾哈,
1.查询失败了,为何还有20个结果?
2.查询失败的话,为何. $mysqli->error 没有输出?

阅读 2.4k
2 个回答
新手上路,请多包涵

检查判断条件

mysqli::query 返回值:

失败时返回 FALSE,通过mysqli_query() 成功执行SELECT, SHOW, DESCRIBE或 EXPLAIN查询会返回一个mysqli_result 对象,其他查询则返回TRUE。

手册:http://php.net/manual/zh/mysq...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题