0

我有我不知道如何解决的问题,这是我的 php 脚本的快照。

    foreach($result as $row){
            $Admin [] = array('id'=>$row['id'],'username' => $row['username'], 'email' => $row['email'], 'password'=>$row['password']);
        }

        include 'view_admins.php';

这是view_admins.php与我的问题相关的部分内容

    <article id="admins">//html tag
    <?php 

    foreach($Admin as $admins)://this is line 75

    ?>

        <form action="" method="post" >
            <div>
            <p><tr><td><p><?php htmlout($admins['username']); ?></p></td><td>
            <input type="hidden" align="center" name="id" value="<?php echo $admins['id'];?>"></td><td>

            <input type="submit" name="action" value="edit">
            <input type="submit" name="action" value="delete"></p></td></tr>

            </div>
        </form>
        <?php endforeach; ?>
        </article>

当这段代码运行时,它会产生一个“ Warning: Invalid argument supplied for foreach() in /home/a2516093/public_html/connect/view_admins.php on line 75

我的困惑是这段代码在我的本地主机上运行得非常好但是当上传到我的主机时它会产生上述警告,有人可以告诉我可能导致问题的原因,我还在学习 php 编程,所以任何帮助将不胜感激。

据我了解,$Admin应该是可见的view_admins.php,如果我错了,请纠正我。谢谢

4

2 回答 2

1

我猜您正在尝试foreach()mysql_query().

你不能做这个。您需要使用mysql_fetch_array()mysql_fetch_assoc();定义您的行。

一个例子:

$result = mysql_query("Your query");
while($row = mysql_fetch_array($result)) {
     $Admin [] = array('id'=>$row['id'],'username' => $row['username'], 'email' => $row['email'], 'password'=>$row['password']);
}

您之前的代码工作的原因可能是因为一些自动配置设置修复了无效代码。也可以是一个 MySQL 插件,它可以自动获取正确的属性,而您通常必须手动执行此操作。

于 2013-07-22T11:06:44.790 回答
0

我认为问题出在您的第一行foreach($result as $row){数据可能不会出现。

print_r($result);在之前foreach($result as $row){,看看有没有数据。

要删除 foreach 之前的错误检查:

<article id="admins">//html tag
<?php 
if(!empty($Admin)){
foreach($Admin as $admins)://this is line 75

?>

    <form action="" method="post" >
        <div>
        <p><tr><td><p><?php htmlout($admins['username']); ?></p></td><td>
        <input type="hidden" align="center" name="id" value="<?php echo $admins['id'];?>"></td><td>

        <input type="submit" name="action" value="edit">
        <input type="submit" name="action" value="delete"></p></td></tr>

        </div>
    </form>
    <?php endforeach; 
    }
    else{ echo "No data found !";}
    ?>
    </article>
于 2013-07-22T11:21:08.383 回答