gpt4 book ai didi

php - php5中动态查询结果到数组

转载 作者:行者123 更新时间:2023-11-29 08:12:02 24 4
gpt4 key购买 nike

所以我有一个处理查询的函数:

function cfquery($query){
// Connection's Parameters
$db_host="localhost";
$db_name="d";
$username="u";
$password="p";
$db_con=mysql_connect($db_host,$username,$password);
$connection_string=mysql_select_db($db_name);
// Connection
mysql_connect($db_host,$username,$password);
mysql_select_db($db_name);

// Query
$sql = $query;
$results = mysql_query($sql);
return $results;
}

我正在尝试编写一个函数来获取结果并将它们放入数组中,但是这个函数正在生成一个“资源”,而我在互联网上找到的所有内容都不适用于该数据类型,或者不是动态生成的 - 就像您必须知道列名才能获取数据一样。

例如:

while ($row = mysql_fetch_array($results)){
echo $row['name'] . ',' ;
echo $row['email'] . ',' ;
echo $row['city'] . ',' ;
}

我正在寻找可以从结果中获取列名称的东西。像这样:

$array = new array();
loop rows index x {
loop column_names index y {
$array[x][y] = $results[rows][column_names];
}
}

如果你不知道,我正在从 ColdFusion 过渡,所以我对“资源”是什么只有一个模糊的概念(在阅读了一些文档之后),并且不知道为什么我无法获取数组其中。

最佳答案

如果您可以使用 MySQLi:使用 mysqli_fetch_field_direct()获取字段元数据。

可以像这样访问字段名称(在结果循环内):

$metadata = mysqli_fetch_field_direct($row, $field_index);
$name = $metadata->name;

如果您无法使用已弃用的(从 5.5 开始)mysql 函数:那么您可以使用 mysql_field_name($result, $field_index) 以相同的方式代替,尽管它将直接返回名称作为字符串而不是对象。

您可以在此处阅读 MySQLi 及其实现:http://uk1.php.net/mysqli

关于php - php5中动态查询结果到数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21364161/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com