mysql_fetch_array()是如何工作的

时间:2015-05-17 14:45:45

标签: php mysql

当我从表中选择一列时,mysql_fetch_array()是否将列值作为数组返回?这样我可以使用数组索引访问列值?

我有这段代码

$s="SELECT col1 FROM tab1 WHERE course = '".mysql_real_escape_string($_SESSION['user']['course'])."'";
$result=mysql_query($s);
$num=mysql_num_rows($result);
$index=mysql_fetch_array($result);
echo $index[1];

我在col1中有两个值满足这个条件。但是echo $index[1];没有显示任何内容。如果我输入echo count($index);,则会2

我想选择一个列并通过数组索引逐个访问列值。我怎么能这样做?

2 个答案:

答案 0 :(得分:0)

while($index=mysql_fetch_array($result))
{
   echo $index[0];// Or $index['col1'];
   echo "<br>";
}

答案 1 :(得分:0)

将第二个参数设置为mysql_fetch_array(),以便您进一步访问结果行,即关联或数字或两个索引

 $s="SELECT col1 FROM tab1 WHERE course = '".mysql_real_escape_string($_SESSION['user']['course'])."'";
    $result=mysql_query($s);
    $num=mysql_num_rows($result);
    #$index=mysql_fetch_array($result);

    while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
       echo $row['col1'];// Or Set MYSQL_NUM then use like $row[0];  
       echo "<br>";
    }

参见 http://php.net/mysql_query

  

警告从PHP 5.5.0开始,不推荐使用此扩展程序   将来删除。相反,MySQLi或PDO_MySQL扩展   应该使用。另请参阅MySQL:选择API指南和相关的常见问题解答   欲获得更多信息。该功能的替代方案包括:   mysqli_query()PDO :: query()