1

我无法为一个简单的问题找到解决方案,这是一种耻辱。使用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; 

}
4

3 回答 3

4

将记录推送到这样的数组:

$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
}
于 2013-09-26T21:48:46.077 回答
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']; 
}
于 2013-09-26T22:21:19.990 回答
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 起已被弃用

于 2013-09-26T21:48:37.953 回答