2011-12-19 72 views
0

我尝试做以下...从表hqfjt_chronoforms_data_addemailtemplate选择所有列,然后从每个记录呼应数据,从列emailformname和emailformmessage。我正在使用下面的代码,但得到了一堆错误,我只是学习PHP,所以它可能有点错误:-S。问题试图让PHP的foreach工作

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

如果你刚开始学习,你真的应该学习[PDO](http://php.net/pdo)不是陈旧的'mysql_'扩展名。 – deceze 2011-12-19 23:58:31

+0

不,我觉得这是第一个更好的学习如何基本的东西的作品,然后传递到严重的东西,如PDO ..从上发生了什么事情它的下面是不是一个好主意,恕我直言 – redShadow 2011-12-20 00:05:03

+1

PDO是没有知识DBAL开始正如透明作为mysql_扩展 – HorusKol 2011-12-20 01:01:43

回答

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

如果你想做些什么弗里茨提到的,那么像这样将实现你的结果:

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

+0

感谢您的帮助,以下工作到底如下: <?php $ result = mysql_query(“SELECT * FROM hqfjt_chronoforms_data_addemailtemplate”); while($ row = mysql_fetch_object($ result)){ echo $ row-> emailformname; echo $ row-> emailformmessage; } mysql_free_result($ result); ?> 我没有需要的数据库连接的东西,它的IM的Joomla用东西打内线。 感谢大家帮助别人的,我今天买了PHP的一本大书和MySQL等会被读取,并希望少蹩脚很快:-)。 – 2011-12-20 00:18:29

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 
} 
+0

当我把这种到Dreamweaver,它是在这条线$结果标记的误差=的mysql_query($ SQL)或死亡(mysql_error()); 即时通讯不知道为什么? – 2011-12-20 00:25:34

+0

很抱歉,在第一行末尾键入的速度很快,缺少分号。 – 2011-12-20 00:34:25

+0

嗯,谢谢你的帮助,我会保留在我的snippets文件夹中的例子太多,现在它的工作:-) – 2011-12-20 00:40:53