首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql_fetch_array仅返回第一列

问mysql_fetch_array仅返回第一列
EN

Stack Overflow用户
提问于 2012-08-27 19:27:24
回答 3查看 2.4K关注 0票数 0

我真的,真的需要以下代码的帮助。我就是搞不懂为什么它不能工作。

有一个我需要查询的MySQL表,我只需要为一个特定的ID返回一行。然而,mysql_fetch_array只返回该表中的第一列--我沮丧得要死……

代码语言:javascript
复制
$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“等。但是,只有回显$row'ID‘才会返回值。

会非常感谢你的帮助。

谢谢。

EN

回答 3

Stack Overflow用户

发布于 2012-08-27 19:28:35

您需要使用:

代码语言:javascript
复制
$row = mysql_fetch_assoc($result); 

以获取关联数组作为结果。

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

票数 3
EN

Stack Overflow用户

发布于 2012-08-27 19:28:34

Fetch Row每次获取一行,您应该将其放入while循环中,如下所示:

代码语言:javascript
复制
while($row = mysql_fetch_array($result))
{
    echo $row['infTitel'];
    echo $row['col2'];
    echo $row['col3'];
}

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

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

代码语言:javascript
复制
while($row = mysql_fetch_array($result))
{
    for($i=0; $i<count($row);, $i++)
    {
        echo $row[$i]."<br>";
    }
}

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

票数 2
EN

Stack Overflow用户

发布于 2012-08-27 19:29:12

在$result =mysql_query($sqlCommand)之后;

代码语言:javascript
复制
$data = array();
while ($row = mysql_fetch_array($result)) {
    $data[] = $row;
}
print_r($data);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12141086

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档