mysql_fetch_array只返回第一列

时间:2012-08-27 11:27:24

标签: php mysql

我真的非常需要以下代码的帮助。我只是想不通为什么它不起作用。

我需要查询一个MySQL表,我只需要为特定ID返回一行。但是mysql_fetch_array只返回该表中的第一列 - 而且我正在因沮丧而死...

$sqlCommand = "SELECT * FROM sqlInformationen WHERE ID = 2"; 

$sqlConn = mysql_connect($config['mysql_host'],$config['mysql_user'],$config['mysql_pass']);
mysql_select_db($config['db_name']) or die ("Fehler bei der Verbindungsaufnahme."); 

$result = mysql_query($sqlCommand); 
$row = mysql_fetch_array($result);  

echo $row['infTitel'];

数据库包含字段“ID”,“infTitel”,“infZusammenfassung”等。但是只有echo $ row ['ID']返回一个值。

非常感谢帮助。

感谢。

3 个答案:

答案 0 :(得分:3)

您需要使用:

$row = mysql_fetch_assoc($result); 

获取关联数组作为结果。

mysql_fetch_array($result)也返回数字索引和关联索引,但我不确定自哪个版本。

答案 1 :(得分:2)

Fetch Row一次获取一行,你应该将它弹出一个像这样的while循环:

while($row = mysql_fetch_array($result))
{
    echo $row['infTitel'];
    echo $row['col2'];
    echo $row['col3'];
}

如果您回显使用select *选择的行的内容并且没有获得任何值,则可能意味着该行的列为空。

如果您使用的是fetch_array,则应返回列名和索引。试试这个,看看你是否得到了你的数据:

while($row = mysql_fetch_array($result))
{
    for($i=0; $i<count($row);, $i++)
    {
        echo $row[$i]."<br>";
    }
}

如果这显示了您期望的数据(空行或空行应从内存中返回空),那么$row['Colname']语法可能会出现区分大小写问题?

答案 2 :(得分:2)

$ result = mysql_query($ sqlCommand);

之后
$data = array();
while ($row = mysql_fetch_array($result)) {
    $data[] = $row;
}
print_r($data);