警告:mysql_num_rows()希望参数1是资源,布尔值在第24行的E:\xampp\htdocs\test\dropdown\menu.php中给出

警告:mysql_num_rows()希望参数1是资源,布尔值在第24行的E:\xampp\htdocs\test\dropdown\menu.php中给出,php,mysqli,Php,Mysqli,这是我的密码。我在24号线遇到了问题。但是我不明白问题出在哪里,我是PHP新手 <?php function loop_array($array = array(), $parent_id = 0){ if(!empty($array[$parent_id])){ echo '<ul>'; foreach($array[$parent_id] as $items){

这是我的密码。我在24号线遇到了问题。但是我不明白问题出在哪里,我是PHP新手

<?php

        function loop_array($array = array(), $parent_id = 0){

            if(!empty($array[$parent_id])){

                echo '<ul>';
                foreach($array[$parent_id] as $items){
                echo '<li>';
                echo $items['name'];
                loop-array($array,$items['id']);
                echo '</li>';
                }
                echo '</ul>';
            }
        }

        function display_menus(){

            $con = mysqli_connect("localhost","root","","dropdown");
            $query = $con->query("SELECT * FROM menus");
            $array = array();

            if(mysql_num_rows($query)){

                while($rows = mysqli_fetch_array($query)){

                    $array[$rows['parent_id']][] = $rows;
                }
                loop_array($array);
            }
        }
    ?>

您已经多次获得解决方案,包括和

一开始最大的问题是试图将mysql API mysql_num_行与mysqli API mysqli_connect混合使用。我相信你已经修好了

此外,我建议尝试$result->num\u行:


你混合了mysql和mysqli现在我该怎么办?有什么解决方案吗?我想你的问题是在mysqli中使用mysql\u num\u行。它们是两个不同的图书馆。请尝试“$result->num\u行”:@KushalReshamdalal使用mysqli\u num\u行是的,我已更正为mysqli\u num\u行。现在我得到了这个错误。mysqli_num_rows期望参数1是mysqli_result,布尔值在第24行@paulsm4的E:\xampp\htdocs\test\dropdown\menu.php中给出
<?php

/* Connect */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
if ($mysqli->connect_errno) {
    printf("Connect failed: %s\n", $mysqli->connect_error);
    exit();
    ...

/* Select queries return a resultset */
if ($result = $mysqli->query("SELECT Name FROM City LIMIT 10")) {
    printf("Select returned %d rows.\n", $result->num_rows);
    ...
$stmt = $mysqli->prepare('SELECT * FROM Users WHERE UserName LIKE ?');
if ( !$stmt ) {
    yourErrorHandler($mysqli->error); // or $mysqli->error_list
}
else if ( !$stmt->bind_param('s', $_POST['username']) ) {
    yourErrorHandler($stmt->error); // or $stmt->error_list
}
else if ( !$stmt->execute() ) {
    yourErrorHandler($stmt->error); // or $stmt->error_list
}
else {
    $result = $stmt->get_result();
    // as of php 5.4 mysqli_result implements Traversable, so you can use it with foreach
    foreach( $result as $row ) {
      ...