Php 如何将MYSQL\u FETCH\u数组结果存储到不同的变量中
我找不到解决一个简单问题的办法,真遗憾。在使用mysql select语句之后,假设我得到两条记录,我要做的是将这些结果存储到两个不同的变量中。比方说,我在select语句之后得到4,5。我想将4和5保存到不同的变量中Php 如何将MYSQL\u FETCH\u数组结果存储到不同的变量中,php,arrays,resultset,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 $ab
$query = mysql_query("SELECT test_id FROM test WHERE MONTH(created)='$res_month'");
while($abc = mysql_fetch_array($query)) {
echo $abc;
}
访问值
foreach($b as $a){
echo $b;
}
不要使用mysql_*函数,因为从PHP 5.5.0开始,mysql函数已被弃用。将记录推送到如下数组:
$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
}
mysql_fetch_数组中的数组键始终是表中的字段名。 您从查询结果推送的每个循环都有一个新行 正如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'];
}
谢谢你,伙计。你的代码工作得很好。我想我需要练习。我已经6个月没有接触过PHP了。如果使用
array\u push()
向数组添加一个元素,最好使用$array[]=
,因为这样就不会有调用函数的开销。From将一些标签替换为更相关的标签。特别是,您的问题是关于PHP,而不是关于MySQL,因此我相应地替换了产品标签。请使用mysqli或PDO,因为MySQL_*不安全且不推荐使用。
$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'];
}