试图让php foreach工作的问题

时间:2011-12-19 23:55:22

标签: php mysql loops foreach

我正在尝试执行以下操作...从表hqfjt_chronoforms_data_addemailtemplate中选择所有列,然后从emailformname和emailformmessage列中回显每条记录中的数据。我正在使用以下代码但是我得到了一堆错误,我只是学习php所以它可能有点不对劲:-S。

<?php
    $query = mysql_query("SELECT * FROM hqfjt_chronoforms_data_addemailtemplate") or die(mysql_error());
    foreach($query as $detail) {
        echo $emailarray->emailformname;
        echo $emailarray->emailformmessage;
    }
?>

3 个答案:

答案 0 :(得分:2)

如上所述,对于刚学习的人来说,学习PDO可能更好。它更安全,更多信息和教程可以在这里找到: http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps-pdo-for-database-access/

如果你想使用带有mysql查询的对象,可以这样做:

<?php
mysql_connect("hostname", "user", "password");
mysql_select_db("mydb");
$result = mysql_query("select * from mytable");
while ($row = mysql_fetch_object($result)) {
    echo $row->user_id;
    echo $row->fullname;
}
mysql_free_result($result);
?>

http://php.net/manual/en/function.mysql-fetch-object.php

如果你想做Frits提到的事情,那么这样的事情将会达到你的结果:

while ($row = mysql_fetch_assoc($result)) {
    echo $row["userid"];
    echo $row["fullname"];
    echo $row["userstatus"];
}

http://php.net/manual/en/function.mysql-fetch-assoc.php

还有阵列作为替代:

http://php.net/manual/en/function.mysql-fetch-array.php

答案 1 :(得分:1)

哦,这只是让我微笑:)

查看以下代码示例:http://php.net/mysql_query

使用while循环mysql_fetch_assoc或类似。

答案 2 :(得分:0)

试试这个:

$sql = "SELECT * FROM hqfjt_chronoforms_data_addemailtemplate";
$result = mysql_query($sql) or die(mysql_error());

while ($row = mysql_fetch_assoc($result)) {
     echo $row['emailformname']; // emailformname is a col name
     echo $row['emailformmessage']; // emailformmessage is a col name
}