Php mysql\u获取\u行获取列而不是行

Php mysql\u获取\u行获取列而不是行,php,mysql,Php,Mysql,我试图使用mysql_fetch_row从数据库中获取单独的行,但是当我回显它时,它将列作为行,例如$row_columns[0]是第1列,$row_columns[1]是第2列,请允许我向您展示我正在使用的代码 mysql_select_db($database_Takeaway, $Takeaway); $query_columns = "SELECT * FROM `rest_site` WHERE linkid = '$rest_id'"; $columns = mysq

我试图使用mysql_fetch_row从数据库中获取单独的行,但是当我回显它时,它将列作为行,例如$row_columns[0]是第1列,$row_columns[1]是第2列,请允许我向您展示我正在使用的代码

mysql_select_db($database_Takeaway, $Takeaway);
    $query_columns = "SELECT * FROM `rest_site` WHERE linkid = '$rest_id'";
    $columns = mysql_query($query_columns, $Takeaway) or die(mysql_error());
    $row_columns = mysql_fetch_row($columns);
并展示它

echo($row_columns[0])
我试过了

打印(行和列)

这就是下面的反馈

数组([0]=>1001[1]=>[2]=>[3]=>0[4]=>[5]=>1837[6] =>测试标题[7]=>测试文本[8]=>[9]=>[10]=>)

上面是所有1行数据,而我需要它是单独的列,这样我就可以执行以下操作

echo $row_columns[0]['name']
echo $row_columns[0]['postcode']
我在这方面做了很多搜索,但似乎找不到任何有帮助的东西,我检查了php.net以及一般的谷歌搜索,当然还有堆栈溢出,所以非常感谢您在这方面的帮助

我希望我已经把问题说清楚了


谢谢

选择*
没有正确的语句,您最好列出您需要的所有列。让它们明确也有助于我们回答您的问题

另外,请始终将输入转义到查询<代码>mysql\u real\u escape\u string()

作为猜测,我认为您忽略了一个事实,即获取查询结果总是必须逐行获取。你知道你需要一个环吗


另外,如果您想获得列名,请使用
mysql\u fetch\u assoc()

mysql\u fetch\u行
仅为枚举数组

您正在寻找
mysql\u fetch\u array
,它会产生一个关联的枚举数组,因此您可以使用字符串文字数组索引

您还应该研究mysqli或PDO,因为从php5.5开始,mysql就被弃用了


链接:

您应该使用
mysql\u fetch\u assoc()
获取带有列名的结果

此外,如果不将其放入循环,则始终只会收到查询的第一行。更好的使用方法是:

mysql_select_db($database_Takeaway, $Takeaway);
$query_columns = "SELECT * FROM `rest_site` WHERE linkid = '$rest_id'";
$columns = mysql_query($query_columns, $Takeaway) or die(mysql_error());
while ($row_columns = mysql_fetch_assoc($columns)) {
    echo $row_columns["name"];  
    echo $row_columns["postcode"];
}

这就是它应该做的,它返回查询的下一行。没有一个mysql函数可以一次返回所有行,您必须在一个循环中调用一个mysql_fetch_XXX函数。是的,但我批评“*”几乎总是对性能有害,并且,正如本例所证明的,模糊了实际处理数据的愿景
SELECT*
在查询的初稿中工作正常,但如果未将其更改为显式列,则此查询将自动提取此表中的任何新列。想象一下,一个用户表开始变小,然后为用户头像添加一列,允许每个用户1 MB,而这个查询永远不会处理图像。再见,表演。