捕获数据数组并输出单行

时间:2011-04-18 14:40:42

标签: php mysql

我需要通过php“打印出”一行数据。

所以,从w3schools那里拿这个例子:

http://www.w3schools.com/PHP/php_mysql_select.asp

有一个cicle遍历所有行(在本例中为2)并打印出来。最终结果是:

  彼得格里芬
  Glenn Quagmire

我想要的是能够选择第1行或第2行(或更多)并选择该行数据。然后我可以这样说(我知道这个doesent工作,只是一个例子):

echo $row["Name",2];

得到:

  

Glenn Quagmire

我相信我必须在mysql_fetch_array中获得一个特殊参数,但我无法在任何地方找到它,我敢打赌它的东西非常简单。请帮帮我,首选完整的示例/教程/指南链接。

3 个答案:

答案 0 :(得分:1)

你有2个选择。首先是编辑你的SQL查询,如下面的exmaple,这将只返回数据库的第二行。

$result = mysql_query("SELECT * FROM Persons" WHERE id = 2);

或者在foreach循环期间将所有结果提取到另一个数组中。

$result = mysql_query("SELECT * FROM Persons");

$rows = array();
while($row = mysql_fetch_array($result))
{
  $rows[] = $row['FirstName'] . " " . $row['LastName'];  
}

答案 1 :(得分:1)

据我所知,mysql没有函数将整个查询作为数组返回。

所以你可以切换到使用PDO(推荐):

$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();
$result = $sth->fetchAll();
echo $result[1]['name'];

或者如果必须使用mysql_functions,只需使用循环创建一个数组:

while($row = mysql_fetch_array($result)) {
    $result[] = $row;
}
echo $result[1]['name'];

答案 2 :(得分:0)

将结果取回到数组中并打印所需的行。