mysql显示数据库数据

时间:2012-07-01 01:05:16

标签: php mysql arrays comments

我正在尝试从我的数据库中显示我网站上的评论。我知道我的连接正常,如$ test所示(显示“Array”)。

如何将数组转换为可用信息?这是我最好的镜头,但它没有显示任何内容:

<?php
$connect;

$sql_get_topic_info = "SELECT * FROM wall ORDER BY time ASC"; 
$res_get_comments_info = mysql_query($sql_get_comments_info); 
$num_get_comments_info = mysql_numrows($res_get_comments_info); 
$test = mysql_fetch_array(mysql_query($sql_get_topic_info)); //just to make sure the connection is working
echo $test; //displays "Array"


//Runs comment loop 
$i=0; 
while ($i < $num_get_comments_info) { 

$sel_comments_info_time = mysql_result($res_get_comments_info,$i,"time"); 
$sel_comments_info_message = mysql_result($res_get_comments_info,$i,"message"); 
$sel_comments_info_company = mysql_result($res_get_comments_info,$i,"company"); 

echo "<li>Company: $sel_comments_info_company<br/>"; 
echo "Comment: $sel_comments_info_message <br/>";
echo "$sel_comments_info_time"; 
echo "</li>"; 

$i++; 
} 
?>

更新的脚本:(来自下面的答案)

$result = mysql_query("SELECT company, message FROM wall");

while ($row = mysql_fetch_array($result, MYSQL_BOTH)) {
printf ("company: %s  message: %s", $row["company"], $row["message"]);
}

mysql_free_result($result);

打印:

company: company 1 message: message 1company: company 2 message: message 2company: company 3 message: message 3

1 个答案:

答案 0 :(得分:1)

不建议使用mysql_,而应使用mysqli_函数。

来自mysql_fetch_array文档:

$result = mysql_query("SELECT id, name FROM mytable");

while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
    printf("ID: %s  Name: %s", $row[0], $row[1]);  
}

使用print_r($test)查看数组以查看其格式。然后你可以使用上面的循环以你想要的任何顺序显示它的部分。数据库中的每一列都在结果行

row = [col1, col2, col3...]

您可以使用数组索引$row[0], $row[1]...访问它们。您可以通过查看数据库中列的顺序或查看print_r中的列来查看订单。然后你可以按照你想要的顺序回复它。