Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.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
Php 将CI查询存储到数组中?_Php_Mysql_Codeigniter - Fatal编程技术网

Php 将CI查询存储到数组中?

Php 将CI查询存储到数组中?,php,mysql,codeigniter,Php,Mysql,Codeigniter,我在一个模型中有以下函数,但它不断返回: 消息:mysql\u fetch\u array():提供的参数不是有效的mysql结果资源 我一辈子都不知道为什么 function getNames() { $query1 = $this->db->query("SELECT * FROM Device_tbl ORDER BY Manufacturer"); $dev = array(); while($row = mysql_fetch_arra

我在一个模型中有以下函数,但它不断返回:

消息:mysql\u fetch\u array():提供的参数不是有效的mysql结果资源

我一辈子都不知道为什么

    function getNames() {
    $query1 = $this->db->query("SELECT * FROM Device_tbl ORDER BY Manufacturer");   
    $dev = array();
    while($row = mysql_fetch_array($query1))
        {
            $manu =  $row['Manufacturer'];
            $mod = $row['Model'];
            $dev[] = $manu.' '.$mod;
        }
    return $dev->result();
}
有人能帮忙吗

CodeIgniter的答案是:

    $query1 = $this->db->query("SELECT * FROM table");  

    foreach($query1->result_array() as $row)
        {
            $manu =  $row['column1'];
            $mod = $row['column2'];
            echo $manu.' '.$mod;
        }
    return $query1->result();

问题是您将CodeIgniter数据库方法与内置PHP数据库方法混合使用
mysql\u fetch\u array
需要的是资源,而不是CI查询对象


查看关于获取结果的信息。

问题在于您将CodeIgniter数据库方法与内置PHP数据库方法混合使用
mysql\u fetch\u array
需要的是资源,而不是CI查询对象


查看获取结果。

有时,当您需要处理大量数据(行)时,您可能希望使用本机php mysql函数(如mysql\u fetch\u数组)来节省内存(为了节省内存,我更喜欢mysql\u fetch\u行)。在这种情况下,您可以使用:

try {

    $query = $this->db->query("SOME QUERY");


    while($row = mysql_fetch_row($query->result_id)) {

        /* ... */

    }

    $query->free_result(); //we talked about memory saving right ;-)
} catch(Exception $e) {
    /* ... */
}

有时,当您需要处理大量数据(行)时,您可能希望使用本机php mysql函数(如mysql_fetch_数组)来节省内存(为了节省内存,我更喜欢mysql_fetch_row)。在这种情况下,您可以使用:

try {

    $query = $this->db->query("SOME QUERY");


    while($row = mysql_fetch_row($query->result_id)) {

        /* ... */

    }

    $query->free_result(); //we talked about memory saving right ;-)
} catch(Exception $e) {
    /* ... */
}

这样看来,您实际上并没有连接到数据库。或者您的查询可能有错误,但我看不到您在进行任何调试。看起来他将CodeIgniter查询与mysql查询混合在一起。附带说明:如果
$dev===array()
,则您无法执行
$dev->result()然后显示您实际上没有连接到数据库。或者您的查询可能有错误,但我看不到您在进行任何调试。看起来他将CodeIgniter查询与mysql查询混合在一起。附带说明:如果
$dev===array()
,则您无法执行
$dev->result()好,所以我可以工作了,但是$query1中的数组包含所有内容,而不仅仅是我指定的2列?您可以指定它在查询中返回的列。您有
SELECT*FROM
,它将选择所有列。确定是有意义的。我已经把它整理好了,但是我有几个同名的制造商,它只返回每个制造商的第一个,所以我开始工作了,但是我从$query1得到的数组包含了所有内容,而不仅仅是我指定的2列?您可以指定它在查询中返回的列。您有
SELECT*FROM
,它将选择所有列。确定是有意义的。所以我把它分类了,但是我有几个同名的制造商,它只返回每个制造商的第一个