代码之家  ›  专栏  ›  技术社区  ›  johnny

如何在CodeIgniter中手动连接到数据库?

  •  0
  • johnny  · 技术社区  · 14 年前

    是否可以使用codeigner中的任何一组PHP驱动程序手动连接到数据库?我可以在模型中打开一个连接吗?我有一个需求,编码器点火器不会涵盖,但我想使用它的MVC架构。我就是不能像在mysql等演示中那样使用它的ActiveRecord。

    如果我可以做一个“常规”的非代码点火器数据库连接,我该如何将信息输入我的控制器?

    另外,我想用这种方式使用代码点火器(没有活动记录),但它的所有其他“东西”是错误的吗?

    谢谢您。

    3 回复  |  直到 7 年前
        1
  •  3
  •   kevtrout    14 年前

    这是一个使用函数式PHP连接到MySQL数据库的非常简单的示例。它来自PHP手册。把这个放在你的模型里。通过用常规的CI方式调用模型函数来调用它。它将返回结果数组,因此将模型调用分配给控制器中的变量。

    <?php
    function my_model_query(){
        //replace the function arguments with your information
        $link = mysql_connect('host_name', 'mysql_user', 'mysql_password');
        if (!$link) {
            die('Could not connect: ' . mysql_error());
        }
        //your code here
        $query = "SELECT * FROM mytable";
        $result = mysql_query($query);
        while($row = mysql_fetch_assoc($result)){
    
            $result_array[]['your_field_1'] = $row['your_field_1'];
            $result_array[]['your_field_2'] = $row['your_field_2']; 
            //and so on
    
           }
    
        //close the connection when you are done
        mysql_close($link);
    
        //send results back to controller
        return $result_array;
    
    
    }//endfunction
    ?>
    

    您可以在模型方法中使用它。假设您返回结果

    编辑: 已将mysql_close移到返回语句上方

        2
  •  2
  •   MJC    14 年前

    我不知道您的问题是什么,但是您可以在没有活动记录的情况下执行查询。

    例如

    $this->db->query();
    
        3
  •  1
  •   Fillz Adebayo    7 年前

    对于手动连接到数据库,只需普通代码

    $link = mysqli_connect('localhost','root','','db_iris');