PHP:从数据库中选择

时间:2014-03-16 22:11:40

标签: php

谢谢你的阅读。 我对下一句话有点问题:

$nats = mysql_query("SELECT id,name FROM reportSatus WHERE reportId = ". $_POST['id']);
$rnat = mysql_fetch_array($nats);

使用print_r($ rnat):

Array(
[0] => 1
[id] => 1
[1] => Poca contaminacion
[name] => Poca contaminacion
[2] => 1
[reportId] => 1)

但在数据库中使用相同的句子是:

id            name
1       Poca contaminacion
2       Mucha contaminacion

知道它能是什么吗?提前谢谢〜

2 个答案:

答案 0 :(得分:1)

尝试:

echo '<table><tr><th>id</th><th>name</th></tr>';
while ($row = mysql_fetch_assoc($nats)) {
    echo "<tr><td>{$row['id']}</td><td>{$row['name']}</td></tr>";
}
echo '</table>';

答案 1 :(得分:0)

From documentation

  

返回与获取的行对应的字符串数组,如果没有其他行,则返回FALSE。返回数组的类型取决于result_type的定义方式。通过使用MYSQL_BOTH(默认),您将获得一个包含关联索引和数字索引的数组。使用MYSQL_ASSOC,你只获得关联索引(如mysql_fetch_assoc()工作),使用MYSQL_NUM,你只获得数字索引(因为mysql_fetch_row()工作)。

实际上它的工作方式,如果需要返回更多行,则需要循环抛出记录

while($rnat = mysql_fetch_array($nats))
{
    //print here
}