Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.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 foreach警告_Php_Html_Mysql_Foreach_Warnings - Fatal编程技术网

PHP foreach警告

PHP foreach警告,php,html,mysql,foreach,warnings,Php,Html,Mysql,Foreach,Warnings,我有一个html表格,由mysql后端填充。我一直收到警告“警告:为foreach()提供的参数无效”,我正在使用php foreach函数,但这在我的html中。我一直试图在这段代码中做一个if(is_array()),但它似乎不起作用。提前谢谢 <?php foreach($rows4 as $row4): ?> <tr style=" margin: 0; padding: 0; bord

我有一个html表格,由mysql后端填充。我一直收到警告“警告:为foreach()提供的参数无效”,我正在使用php foreach函数,但这在我的html中。我一直试图在这段代码中做一个
if(is_array())
,但它似乎不起作用。提前谢谢

            <?php foreach($rows4 as $row4): ?> 

            <tr style="
                margin: 0; padding: 0; border-collapse: collapse;"
            >

                <td style="
                    border: 1px solid grey;"
                >
                    <form action="" method="post"> <?php echo $row4['DispatchTicketDate']; ?> </form> 
                </td>

                <td style="
                    border: 1px solid grey;"
                >
                    <form action="" method="post"> <?php echo $row4['LoginUserName']; ?>  </form>
                </td>

                <td style="
                    border: 1px solid grey;"
                >
                    <form action="" method="post"> <?php echo $row4['DispatchTicketNote']; ?>  </form> 
                </td>
            </tr>

        <?php endforeach; ?>

您的mysql后端必须始终返回一个数组,如下所示:

$rows4 = $db->getAll("SELECT * FROM news WHERE cat=?i", $cat);

如果找不到数据,则返回空数组


这样,您将永远不会遇到这样的问题

请在继续之前检查阵列的大小:

if (sizeof($rows4) > 0) { 
  foreach($rows4 as $row4):
    ... 

你能发布$rows4包含的内容吗???只需
var_dump($rows4)在进入循环并查看输出之前。能否显示数组结构…您的尝试已经正确-此错误表示行4不可编辑。var_转储它以查看它实际包含的值。我知道$row4没有数据。如果用户单击另一个选项,则$row4很可能包含数据。有时可能,有时可能不。我只是不知道如何检查这个错误谢谢!这解决了我的问题!
if (sizeof($rows4) > 0) { 
  foreach($rows4 as $row4):
    ...