如何将MYSQL_FETCH_ARRAY结果存储到不同的变量中

时间:2013-09-26 21:42:15

标签: php arrays resultset

我无法为一个简单的问题找到解决方案,这是一种耻辱。在使用mysql select语句之后,假设我得到两条记录,我想要做的是将这些结果存储到两个不同的变量中。比方说,我在select语句后得到4,5。我想将4和5保存到不同的变量中。

$query = mysql_query("SELECT test_id FROM test WHERE MONTH(created)='$res_month'");

while($abc = mysql_fetch_array($query)) {

    echo $abc; 

}

3 个答案:

答案 0 :(得分:3)

将记录推送到如下数组:

$data = array();
while($abc = mysql_fetch_array($query)) {
    $data[] = $abc;
}

$first = $data[0]['test_id'];
$second = $data[1]['test_id'];
// etc ...

您可以使用foreach访问您的数据:

foreach($data as $value){
    //$value
}

答案 1 :(得分:0)

$query = mysql_query("SELECT test_id FROM test WHERE MONTH(created)='$res_month'");
$a = array();
while($abc = mysql_fetch_array($query)) {
$a[] = $abc['test_id']; 
}

访问值

foreach($b as $a){
     echo $b;
 }

不要使用mysql_ *函数,因为从PHP 5.5.0起不推荐使用它们

答案 2 :(得分:0)

mysql_fetch_array中的数组键始终是表中的字段名。 每个循环都会从查询结果中推出一个新行。

正如aaron所说,你可以保留它将值推入数组。 如果表具有主键,您也可以使用二维数组。 这样您就可以按索引查找行。

$query = mysql_query("SELECT test_id,field2,field3 FROM test WHERE MONTH(created)='$res_month'");


$data=array();
while($abc = mysql_fetch_array($query)) 
{

// two dimension array

     $data[$abc['test_id']]['test_id']=$abc['test_id'];
     $data[$abc['test_id']]['field2']=$abc['field2'];
     $data[$abc['test_id']]['field3']=$abc['field3'];

// view values

     echo $abc['test_id']; 
     echo $abc['field2']; 
     echo $abc['field3']; 
}