按行号选择值

时间:2014-06-04 14:35:12

标签: php mysql sql select

我有以下MySQL表:

table_1
id | value_1 | value_2 | value_3
1    hehe      haha      stack
2    over      flow      me
3    123       abc       hello
4    hi        random    php
5    html      js        css

如何从第3行中选择value_2,即" abc"?

$rows[3]['value_2']

这样的东西

这是我尝试过的代码:

$sql=mysql_query("SELECT * FROM table_1 ORDER BY `table_1`.`id` ASC");
$rows=mysql_fetch_array($sql);
//And then I tried accessing it by "$rows[3]['value_2']" and $rows['value_2'][3]

我无法使用SELECT * FROM table_1 WHERE id='3',因为我需要访问多行(所有这些行)。我也不能使用WHILE循环,因为我需要代码中不同位置的值。

2 个答案:

答案 0 :(得分:0)

mysql_fetch_array只返回与查询对应的行。正确使用mysql_fetch_array是这样的:

$sql=mysql_query("SELECT * FROM table_1 ORDER BY `table_1`.`id` ASC");

while ($row = mysql_fetch_array($sql)) {
    printf("ID: %s  value_2: %s", $row[0], $row[2]);  
}

http://www.php.net/manual/en/function.mysql-fetch-array.php

答案 1 :(得分:0)

找到答案。您现在可以按照自己的方式访问它们。

$sql=mysql_query("SELECT * FROM settings ORDER BY `settings`.`id` ASC");
$id=0;
while ($rows = mysql_fetch_array($sql)) {
    $settings[$id]['value_1']=$rows['value_1'];
    $settings[$id]['value_2']=$rows['value_2'];
    $settings[$id]['value_3']=$rows['value_3'];
    $id++;
    }

echo $settings[5]['value_3'];
echo $settings[5]['value_1'];
echo $settings[4]['value_2'];
echo $settings[0]['value_3'];