【发布时间】:2015-03-23 10:09:03
【问题描述】:
我正在使用 mysql_query 和 mysql_fetch_array 来返回要在 foreach 循环中使用的值数组。
由于某种原因,当我 print_r 返回的数组时,查询只返回最后输入的行。
我正在做的是:
$query = mysql_query("SELECT * from table_name;");
$returned_array = mysql_fetch_array($query);
print_r($returned_array)
比如说表中有4个值(a、b、c、d),只有最后一个会返回给我,所以我看到的是:Array ( [0] => d )。
怎么做我要解决这个问题还是我做错了什么?
【问题讨论】:
-
您应该看到的是
E_DEPRECATED通知:请不要使用mysql_*,该扩展已在多年前被弃用。学习改用PDO或mysqli_*(替换扩展) -
正如@EliasVanOotegem 所说,mysql_* 已被弃用,您的代码有一些拼写错误
$returned_array - mysql_fetch_array($query);而不是=,您正在使用- -
通常你会把它放在一个while循环中,它会获取行直到它用完
-
您没有 ORDER BY 子句,因此您不能假设任何顺序。由于您只获取一行,因此它可以是任意行——甚至不是随机行!
-
当我尝试使用 mysqli 时出现如下错误(因工作而被剥离):警告:mysqli_query() 期望参数 1 为 mysqli,/file 中给出的字符串警告:mysqli_fetch_array () 期望参数 1 为 mysqli_result,/file 中给出的整数