繁体   English   中英

在一个数组中从SQL获取数据

[英]Get data from sql in one array

我正在尝试从一个单一的阵列中获取数据库中的数据,但是我这样做没有成功。 我尝试过的是-

$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
         } 

mysql扩展中没有满足您需求的功能。 所有的mysql_fetch_XXX函数一次只能读取一行。 要获得所有内容,您必须使用循环:

$gt = array();
while ($row = mysql_fetch_assoc($q)) {
    $gt[] = $row;
}
var_dump($gt);

如果转换为PDO扩展名,则它具有方法PDO::fetchAll您的需求。

希望这对您有帮助,

 $q = mysql_query("SELECT * FROM meaning ORDER BY RAND() LIMIT 7");
 while($gt = mysql_fetch_assoc($q)){
   $myarray[] =  $gt;
 }   
 var_dump($myarray);

尝试这个:

$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);

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 />";
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM