我试图从一个数组中获取数据库中的数据,但我没有成功。我试过的是 -
$q = mysql_query("SELECT*FROM meaning ORDER BY RAND() LIMIT 7");
$gt = mysql_fetch_array($q);
var_dump($gt);
此查询仅提取一行。我想要的是这个查询应该获取随机的7行,并作为数据返回到一个数组 -
array(4) { [0]=> row_0
[1]=> row_1
[2]=> row_2
[3]=> row_3
[4]=> row_4
[5]=> row_5
[6]=> row_6
}
答案 0 :(得分:8)
mysql
扩展程序中没有可以执行您想要的功能。所有mysql_fetch_XXX
函数一次只读取一行。为了得到一切,你必须使用一个循环:
$gt = array();
while ($row = mysql_fetch_assoc($q)) {
$gt[] = $row;
}
var_dump($gt);
如果您转换为PDO扩展程序,则其方法PDO::fetchAll
可以执行您想要的操作。
答案 1 :(得分:0)
希望这可以帮到你,
$q = mysql_query("SELECT * FROM meaning ORDER BY RAND() LIMIT 7");
while($gt = mysql_fetch_assoc($q)){
$myarray[] = $gt;
}
var_dump($myarray);
答案 2 :(得分:0)
试试这个:
$q = mysql_query("SELECT * FROM meaning ORDER BY RAND() LIMIT 7");
$i = 0;
$myarray[]='';
while($gt = mysql_fetch_assoc($q))
{
$myarray[$i] = $gt;
$i++;
}
var_dump($myarray);
答案 3 :(得分:0)
mysql_fetch_array以关联数组的形式返回MySQL资源中的第一行。获取结果行作为关联数组,数字数组或两者 您需要使用循环来获取所有记录。
$q = mysql_query("SELECT * FROM meaning ORDER BY RAND() LIMIT 7");
while ($row = mysql_fetch_array($q)) {
echo $row["title"]."<br />";
}