猿问

mysqli_fetch_array()期望参数1为mysqli_result,给定PHP论坛尝试

我试图从数据库中获取并显示两个值,即“ cat_name”和“ cat_description”,并将它们显示在表中。据我所知,代码还不错。我对PHP还是很陌生,对此几乎没有经验。


我已经尝试过许多问题,并尝试了许多可能的答案。我真的无法告诉我尝试解决此问题的尝试次数。


    $query = $con->prepare("SELECT cat_id, cat_name, cat_description FROM categories");


    $query->execute();

    $result = $query->fetchAll(PDO::FETCH_ASSOC);

    if(!isset($result))

    {

        //something went wrong, display the error

        echo 'Error'; 

    }

    else

    {

        if($result == 0)

        {

            echo 'No categories defined yet.';

        }

        else

        {

            echo '<table border ="1">

                <tr>

                    <th>Category</th>

                    <th>Last Topic</th>

                </tr>';


            var_dump($result);


            while($row = mysqli_fetch_array($result)){

            echo '<tr>';

            echo '<td class="leftpart">';

                echo '<h3><a href="category.php?id">' . $row['cat_name'] . '</a></h3>' . $row['cat_description'];

            echo '</td>';

            echo '<td class="rightpart">';

                echo '<a href="topic.php?id=">Topic subject</a> at 10-10';

            echo '</td>';

            echo '</tr>';

            }

        }


    }

我应该期望有一个显示两列的表,其中一列显示类别(超链接),并对从数据库中提取的类别进行简短描述。关于该类别中的主题的另一专栏,但到目前为止还不能走得很远。


预期结果:

当我运行此代码时,我似乎所实现的只是一个错误。

警告:mysqli_fetch_array()期望参数1为mysqli_result,给定数组


慕尼黑的夜晚无繁华
浏览 268回答 1
1回答

三国纷争

跑步后$result&nbsp;=&nbsp;$query->fetchAll(PDO::FETCH_ASSOC);$result&nbsp;将是查询中记录的数组,因此当您转到while($row&nbsp;=&nbsp;mysqli_fetch_array($result)){您已经有了数据,因此$result不是结果集,而是数据数组。因此,您可以将该行替换为...foreach&nbsp;(&nbsp;$result&nbsp;as&nbsp;$row&nbsp;)&nbsp;{
随时随地看视频慕课网APP
我要回答