如果我需要选择和使用数据库中表的每个元素的信息,那么过程就是:
$query = "...mySql query...";
$query_result = mysql_query($query) or die (mysql_error());
然后,如果我想访问结果的字段,我将使用函数mysql_fetch_array()并像这样访问它们:
$query_result_array = mysql_fetch_array($query_result);
echo $query_result_array['field_1'];
....
echo $query_result_array['field_i'];
....
但是,由于查询可以返回更多元素,因此我希望使用从0到mysql_num_rows($ query_result)索引的数组访问每个元素。
举个例子:
echo $query_result_array['field_i'][0];
....
echo $query_result_array['field_i'][mysql_num_rows($query_result)];
应该为表格的每个选定元素打印字段i的值。
是否有能为我完成工作的功能? 如果没有,有关如何做的任何建议吗?
提前感谢您的帮助。
答案 0 :(得分:1)
我认为没有这样的方法;你必须自己做。
答案 1 :(得分:1)
这可能是另一种选择
$res = mysql_query("..SQL...");
$arr = array();
while ($row = mysql_fetch_assoc($res)) {
$arr[] = $row;
}
var_dump($arr);
或者
$res = mysql_query("..SQL...");
for
(
$arr = array();
$row = mysql_fetch_assoc($res);
$arr[] = $row
);
var_dump($arr);
答案 2 :(得分:1)
尝试使用类似的东西:
$res = mysql_query("..mySql query...");
$arr = array();
while ($row = mysql_fetch_assoc($res)) {
$query_result_array[] = $row;
}
然后您可以访问以下数据:
echo $query_result_array[0]['field_i'];
答案 3 :(得分:1)
基于前两个答案,那些作者假设通常的SO作者熟悉创建函数这样的事情
function sqlArr($sql) { return an array consists of
$ret = array();
$res = mysql_query($sql) or trigger_error(mysql_error()." in ".$sql);
if ($res) {
while ($row = mysql_fetch_assoc($res)) {
$ret[] = $row;
}
}
return $ret;
}
$array = sqlArr("SELECT * FROM table");
foreach ($array as $row) {
echo $row['name'],$row['sex'];
}
这个结果数组与你提出的结构有不同的结构,但它也更方便。 如果你仍然需要你的不寻常的,你必须告诉你将如何使用它