-2

我有这样的代码:

include 'dbconnect.php';
mysql_query("SET NAMES utf8;"); 

$sql = mysql_query("SELECT * From courseEnglish");
$courseInfo = array();


while ($row_course = mysql_fetch_assoc($sql))
   $courseInfo[] = $row_course;

它给了我一个来自数据库的 php 数组,但是为了呈现我需要使用的数据:

echo $courseInfo[2]['Course'];

我希望数组是这样的,所以我可以输入如下内容:

echo $courseInfo[2][2];

有没有改变代码的选项,所以我有一个数组,我可以只用索引循环?

4

3 回答 3

1

我认为您正在寻找mysql_fetch_row,它的作用与 相同mysql_fetch_assoc,只是它返回一个数字索引数组。这是文档的链接

话虽如此,您可能需要考虑放弃已弃用的mysql_*扩展,转而支持mysqli_*i改进的代表)或完全 OO 样式的PDO扩展。mysql_*选中任何函数手册页顶部的红色框,它包含指向首选对应函数的链接...

但考虑到所有因素,查看您的查询 ( SELECT * FROM ...),我根本不会使用数字索引数组来获取结果。如果您的表包含超过 1 个字段,那么您迟早会遇到麻烦,当您试图计算出哪些数据来自哪个字段时。说真的......只需使用 assoc 数组,或者更好:使用对象。
假设您更改了表格布局(添加/删除某些字段?),在这种情况下维护您的代码将是地狱。不过,这由你决定,但我想我可能会提到这一点。

于 2013-02-14T11:13:24.697 回答
0

也许这..?

foreach ($courseInfo as $course_index = > $course_content)
   foreach ($course_content as $field)
     echo $field;

干杯

于 2013-02-14T11:15:56.410 回答
0

尝试这个 :

while ($row_course = mysql_fetch_array($sql))
于 2013-02-14T11:23:36.543 回答