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

时间:2010-09-30 15:43:11

标签: codeigniter database-connection

是否可以在CodeIgniter中使用任何一组php驱动程序手动连接到数据库?我会在模型中打开一个连接吗?我需要CodeIgniter不会涉及,但我想将它用于它的MVC架构。我只是不能像使用MySQL等的演示一样使用它的ActiveRecord。

如果我可以执行“常规”非CodeIgniter数据库连接,如何将信息输入控制器?

另外,我错误的想要以这种方式使用CodeIgniter(没有活动记录)但是对于其他所有“东西”?

谢谢。

3 个答案:

答案 0 :(得分:3)

这是使用功能性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移到return语句

之上

答案 1 :(得分:2)

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

e.g

$this->db->query();

答案 2 :(得分:1)

用于手动连接数据库,只是普通代码

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