通过mysql_fetch_array()遍历一个表的三列,如何将一个三列的mysql表,存入一个三维数组中啊,格式arr1[3],弄了半天只保存了表的一列啊,三列都保存到一个数组怎么做啊
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在PHP中,使用mysql_fetch_array()
函数确实可以遍历查询结果集,但它默认返回的是一个索引数组和关联数组的混合体。如果你想要将查询结果的每一行数据都保存为一个三维数组的一个元素,实际上你可能是在寻找一种方式来组织多行数据,而不是直接创建一个三维数组(通常用于处理更复杂的数据结构)。对于从MySQL表获取的每行三列数据,存储到一个多维数组(二维数组)会更加合适。
这里是一个示例代码,展示如何正确地遍历查询结果并将数据存入一个二维数组中:
// 假设你已经连接到了数据库
$result = mysql_query("SELECT column1, column2, column3 FROM your_table"); // 替换为你的SQL查询
// 初始化一个空数组来保存所有行的数据
$dataArray = array();
// 遍历查询结果
while ($row = mysql_fetch_assoc($result)) {
// 每次循环,$row就是一行数据,包含column1、column2、column3三个字段
// 将这一行数据作为一个子数组添加到"dataArray"中
$dataArray[] = $row;
}
// 查询结束后记得关闭结果集和数据库连接
mysql_free_result($result);
mysql_close($connection); // 确保替换$connection为你实际的数据库连接变量
// 此时,$dataArray的内容如下所示:
// Array(
// [0] => Array( [column1]=> value1, [column2]=> value2, [column3]=> value3 ),
// [1] => Array( [column1]=> value4, [column2]=> value5, [column3]=> value6 ),
// ...
// )
请注意,mysql_*
系列函数在PHP中已经被废弃,建议使用更新且安全性更高的mysqli
或PDO
扩展来操作MySQL数据库。下面是一个使用mysqli
的示例:
$conn = new mysqli("localhost", "username", "password", "database");
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT column1, column2, column3 FROM your_table";
$result = $conn->query($sql);
$dataArray = array();
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
$dataArray[] = $row;
}
} else {
echo "0 results";
}
$conn->close();
这样,你就可以得到一个二维数组,其中每个子数组代表原表中的一行记录,包含了那三列数据。