[英]Passing each row of a mysql query to a php array
我正在运行mysql查询以从临时数据库返回所有行,然后需要修改那些行中的某些属性,因此我试图将每一行返回到数组,以便随后可以引用该数组并修改特定的属性每一行
我只是停留在如何将每一行放入其自己的数组中,我猜我将需要为此使用2d数组,但是无法弄清楚如何将其从mysql查询填充到2d数组中。 我想这是我在下面尝试过的东西?
$result_array = array();
while ($row = mysql_fetch_assoc($res2)) {
$result_array[] = $var;
foreach($row as $key => $var) {
// Insert into array
echo $var;
}
但是,当我尝试这样做时,我会收到一条通知:
注意:数组到字符串的转换
为我指明正确方向的任何帮助都会很棒
如果我了解您的要求,您真的希望SQL查询中的每一行都成为$result_array
数组中的单个索引吗?
如果是这样,您已经可以通过$row
获得它-您可以将其直接添加到数组中:
$result_array = array();
while ($row = mysql_fetch_assoc($res2)) {
$result_array[] = $row;
}
您可以在将值添加到全局数组时或在以下之后修改数组内的值:
foreach ($result_array as $index => $row) {
$result_array[$index]['some_key'] = $row['some_key'] . ' [modified]';
}
旁注 (不具体回答)
我建议不要使用旧的,不推荐使用的mysql_
函数,而建议使用MySQLi或PDO 。 这两种方法都易于使用,比旧方法更安全,并提供了很多功能,例如预准备语句。
上面可以用mysqli编写,例如:
if ($result = mysqli_query($connection, $query)) {
$results = array();
while ($row = mysqli_fetch_assoc($result)) {
$results = $row;
}
mysqli_free_result($result);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.