首页 > 解决方案 > SQL 查询未正确执行

问题描述

我的 SQL 查询似乎有错误。我不断收到此警告:

警告:mysqli_num_rows() 期望参数 1 为 mysqli_result,布尔值在

我很确定这指向了一个语法错误,我在网上找到了一个 SQL 检查器,它说也有一个错误。我已经看了好几天了,我似乎无法找到问题所在。

这是代码:

    function countReplies($cid, $scid, $tid, $mysqli){
        $select = mysqli_query($mysqli, "SELECT category_id, subcatgory_id, topic_id FROM replies WHERE ".$cid." = category_id AND ".$scid." = subcategory_id AND ".$tid." = topic_id");

        return mysqli_num_rows($select);
   }

编辑:

使用后

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

这是我现在得到的错误:

致命错误:未捕获的 mysqli_sql_exception:您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以在 C:\xampp\htdocs(A)Book 2.0\Bootstrap\content_function.php:116 中的第 6 行的“12”附近使用正确的语法 堆栈跟踪:#0 C :\xampp\htdocs(A)Book 2.0\Bootstrap\content_function.php(116): mysqli_query(Object(mysqli), 'SELECT category...') #1 C:\xampp\htdocs(A)Book 2.0\Bootstrap \readtopic.php(55): countReplies('1', '2', '12', Object(mysqli)) #2 {main} 在 C:\xampp\htdocs(A)Book 2.0\Bootstrap\content_function 中抛出。第 116 行的 php

标签: phpsqlfunctionmysqli

解决方案


我认为您应该在“=”符号之后执行您在查询中输入的 ids / 实际值。喜欢:

"SELECT category_id, subcatgory_id, topic_id FROM replies WHERE category_id = '.$cid.' 
 AND subcategory_id = '.$scid.' AND topic_id = '.$tid.';");

推荐阅读