[英]Php Build an Array from MySQL
我目前正在收集这样的数据:
$query = "SELECT * FROM applicants";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result)){
echo $row['id'].$row['name'].$row['surname'].$row['email'].$row['dob'];
echo "<br />";
}
它将所有数据输出在一行中,像这样
1maxpaynemax@hat.com24/07/1950
我想将数据构建为数组,所以看起来像这样:
$fields = array(
'id' => '21890',
'name' => 'nick',
'surname' => 'moppy',
'email' => 'nick@moppy.com',
'dob' => '11-01-1965',
),
您应该使用这种方式。
$query = "SELECT * FROM applicants";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_assoc($result)){
$res[] = $row;
}
echo "<pre>"; print_r($res); echo "</pre>";
您已经有了数组:
$query = "SELECT * FROM applicants";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result)){
var_dump($row);
}
因此,我将在此处进行假设。 那就是您只需要id
, name
, surname
, email
和dob
。 如果要从表和数组中返回所有列,只需将SELECT
返回到原来的状态即可。
$query = "SELECT id, name, surname, email, dob FROM applicants";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result, MYSQL_ASSOC)){
// $row is now what your example array looks like
}
因此,有2个区别,首先是表中的指定列。 如果您实际上要返回所有列(例如,返回*),但又不想在数组中返回所有列,则此方法将不起作用(但您也没有说过) @ b0s3第一个示例将。
其次,添加了MYSQL_ASSOC
参数。 这告诉PHP返回一个仅包含列名索引的数组,而不是它们和数字键,这会使数组中的项数加倍。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.