我正在尝试将我的mysql查询存储在这样的数组中:
$arr = array ( "field1"=>"value" , "field2"=>"value" , "field3"=>"value" , ... );
我已经尝试过但不能像我需要的那样工作:
$row_selectProduct = array();
$sResult = $db->query( 'SELECT * FROM tbl' )
while ( $aRow = $sResult->fetch_assoc() )
{
$sInfo = $sResult->fetch_field();
// General output
$row_selectProduct[ $sInfo->name ] = $aRow;
}
$sResult->close();
寻求帮助
编辑: 抱歉,误解了... 我想用数据库中的字段名称来命名键。 我尝试重现这个:
$result = array();
while ($row_selectProduct = mysql_fetch_assoc($selectProduct));
{
$row_array= array();
$row_array['field_name1_In_DB'] = $row_selectProduct['field_name1_In_DB'];
$row_array['field_name2_In_DB'] = $row_selectProduct['field_name2_In_DB'];
$row_array['field_name3_In_DB'] = $row_selectProduct['field_name3_In_DB'];
$row_array['field_name4_In_DB'] = $row_selectProduct['field_name4_In_DB'];
$row_array['field_name5_In_DB'] = $row_selectProduct['field_name5_In_DB'];
...
array_push($result,$row_array);
};
答案 0 :(得分:1)
使用PDO connection functions,非常简单 -
foreach($db->query('SELECT field_name1,field_name2 FROM table') as $row) {
echo $row['field_name1'].' '.$row['field_name2']; //etc...
}
如果你想要更多,那么这是一个很好的tutorial for PDO in PHP。
答案 1 :(得分:0)
while ( $aRow = $sResult->fetch_assoc() )
{
foreach($aRow as $fieldname => $fieldvalue) {
$row_selectProduct[$fieldname] = $fieldvalue;
}
}
但是你会用每条记录覆盖你的$ row_selectedProduct,而末尾的var只会存储最后一条记录
如果您想将所有结果放在一个数组中,您应该:
$results = array();
while ( $aRow = $sResult->fetch_assoc() )
{
$results[] = $aRow;
}
如果您知道只需要一个结果:
$result = $sResult->fetch_assoc();