mysql_fetch_row:怎么知道哪一行?

时间:2014-02-06 21:39:07

标签: php mysql sql

我试图掌握PHP和MYSQL编程,但在看了一个例子之后,我无法理解mysql_fetch_row如何知道返回哪一行。例如:

<?php

$query = "SELECT * FROM classics";
$result = mysql_query($query);

$row = mysql_fetch_row($result); //gets the rows refering to the query

echo $row[0]; //returns the data in column 1

?>

在上面的代码中,echo $row[0];返回表中第一列中的数据,但它如何知道从哪一行获取此数据(假设查询返回多行)?

此外,如果我把代码放在循环中:

<?php

$query = "SELECT * FROM classics";
$result = mysql_query($query);

for ($j = 0 ; $J < 4 ; ++$j)
{
$row = mysql_fetch_row($result);
echo $row[0];
}

?>

回显的值是(row1,column1)(row2,column1,)(row3,column1)中的值。如果递增的值$j不直接影响mysql_fetch_row函数,那么这是如何工作的?

2 个答案:

答案 0 :(得分:5)

每次调用它都会前进到下一行,这就是它通常用于while循环的原因

答案 1 :(得分:0)

你必须在你的选择中添加“where”:

例如:

  

$值= “莫扎特”;

     

$ query =“SELECT * FROM classics where author ='$ value'”;

句子是:选择作者为莫扎特的经典作品中的所有数据