Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php5中数组的动态查询结果_Php_Mysql_Arrays_Dynamic - Fatal编程技术网

php5中数组的动态查询结果

php5中数组的动态查询结果,php,mysql,arrays,dynamic,Php,Mysql,Arrays,Dynamic,因此,我有一个处理查询的函数: 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

因此,我有一个处理查询的函数:

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; 
}
我试图编写一个函数,将结果放入一个数组中,但这个函数正在生成一个“资源”,我在internet上找到的所有内容都不适用于该数据类型,或者不是动态生成的,就像你必须知道列名才能访问数据一样

例如:

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:用于获取字段元数据

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

如果您无法使用不推荐的(从5.5开始)mysql
functions:那么您可以使用
mysql\u field\u name($result,$field\u index)
以相同的方式代替,尽管它将直接以字符串而不是对象的形式返回名称


您可以在这里阅读MySQLi及其实现:

mysql_*已被弃用。。。使用mysqli_*或pdo

在MySQL中

function cfquery($query)
{
    $return = array();

    $cn = mysql_connect("localhost","u","p") or die('connection error');
    mysql_select_db("d", $cn) or die('select db error');

    $results = mysql_query($query, $cn) or die(mysql_error($cn));

    while ( $row = mysql_fetch_array($results) )
        $return[] = $row;

    mysql_free_result($results);
    mysql_close($cn);

    return $return;
}

不建议在新的开发中使用旧的mysql扩展,因为从PHP5.5.0开始,它就已被弃用,将来将被删除。请看您在回答中使用了不推荐使用的函数。用户使用mysql_*函数。。。我已经警告过你,你的最高评论听起来好像你没有。我要明确指出,您的示例使用不推荐使用的函数来防止混淆。
function cfquery($query)
{
    $return = array();

    $cn = mysql_connect("localhost","u","p") or die('connection error');
    mysql_select_db("d", $cn) or die('select db error');

    $results = mysql_query($query, $cn) or die(mysql_error($cn));

    while ( $row = mysql_fetch_array($results) )
        $return[] = $row;

    mysql_free_result($results);
    mysql_close($cn);

    return $return;
}