Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP/mySQLi:循环中的循环不';t返回所有结果_Php_Mysqli_Distinct - Fatal编程技术网

PHP/mySQLi:循环中的循环不';t返回所有结果

PHP/mySQLi:循环中的循环不';t返回所有结果,php,mysqli,distinct,Php,Mysqli,Distinct,我基本上是在为菜单设计一个web前端的过程中,我已经创建了一个系统来将膳食添加到菜单中,现在我需要向用户阅读它。我还需要将事物分类(又名div)。为此,我编写了代码,(我认为)应该得到一个类别列表(列中的不同结果),然后得到每个类别的每顿饭的名称和价格 问题是它没有显示所有类别或膳食 这是我的数据库结构,ID是主要索引 我的代码是这样的 <?php mysqli_report(MYSQLI_REPORT_ALL ^ MYSQLI_REPORT_INDEX);

我基本上是在为菜单设计一个web前端的过程中,我已经创建了一个系统来将膳食添加到菜单中,现在我需要向用户阅读它。我还需要将事物分类(又名div)。为此,我编写了代码,(我认为)应该得到一个类别列表(列中的不同结果),然后得到每个类别的每顿饭的名称和价格

问题是它没有显示所有类别或膳食

这是我的数据库结构,ID是主要索引 我的代码是这样的

        <?php
        mysqli_report(MYSQLI_REPORT_ALL ^ MYSQLI_REPORT_INDEX);
        $db = new mysqli('localhost', 'username', 'password', 'db');
        if($db->connect_errno > 0){
            die('Unable to connect to database [' . $db->connect_error . ']');
        }

        $query = "SELECT DISTINCT `mealtype` FROM `meals`";
        if(!$result = $db->query($query)){
            die('There was an error running the query [' . $db->error . ']');
            }
        else {
            $row = $result->fetch_assoc();
            while($row = $result->fetch_assoc()){
                $mealtype=$row['mealtype'];
                echo "<div class='pure-u-1-3'><h1>".strtoupper($mealtype)."</h1>";
                $mealquery = "SELECT * from `meals` where `mealtype` = '".$mealtype."'";
                $mealresult = $db->query($mealquery);
                $mealrow = $result->fetch_assoc();
                echo $db->error;
                while($mealrow = $mealresult->fetch_assoc()){
                    echo "<b>".$mealrow['name']."</b>".$mealrow['price'].'<br>';
                    }
                echo "</div>";

            }

        }


        $db->close();
?>
我完全不知道为什么它不会显示所有内容,我确信这与双循环有关,因为当我只是要求它在菜单管理器中返回表格时,它工作正常


编辑:这个问题原来是1D13T错误,我应该更加注意我的代码

您有额外的
$row=$result->fetch_assoc()在您的代码中

尽管这一错误给每个人留下了深刻印象,但它与这个问题无关

顺便说一下,mysqli报告的最佳设置是

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

我希望这类问题是合法和受欢迎的,但在解决后有权立即删除。

我应该注意到的可能重复!谢谢还感谢您对报告的设置,下次发布前我会更加小心:)
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);