0

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

我需要查询一个 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'] 返回一个值。

非常感谢帮助。

谢谢。

4

3 回答 3

3

您需要使用:

$row = mysql_fetch_assoc($result); 

得到关联数组作为结果。

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

于 2012-08-27T11:28:34.550 回答
2

Fetch Row 一次获取一行,您应该将其弹出到一个 while 循环中,如下所示:

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

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

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

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

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

于 2012-08-27T11:28:34.217 回答
2

$result = mysql_query($sqlCommand); 之后

$data = array();
while ($row = mysql_fetch_array($result)) {
    $data[] = $row;
}
print_r($data);
于 2012-08-27T11:29:12.370 回答