Как я могу подключиться к базе данных вручную в CodeIgniter? - PullRequest
0 голосов
/ 30 сентября 2010

Возможно ли подключиться к базе данных вручную, используя любой набор драйверов для php, в CodeIgniter?Буду ли я просто открыть соединение в модели?Мне нужно, чтобы CodeIgniter не покрывал, но я бы хотел использовать его для своей архитектуры MVC.Я просто не могу использовать его ActiveRecord, как в демоверсиях с MySQL и т. Д.

Если я могу просто установить «обычное» соединение с базой данных без CodeIgniter, как я могу получить информацию в свой контроллер?

Кроме того, я ошибаюсь из-за того, что хочу использовать CodeIgniter таким образом (без активной записи), но для всех других "вещей"?

Спасибо.

Ответы [ 3 ]

3 голосов
/ 01 октября 2010

Это очень простой пример использования функционала 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 голосов
/ 30 сентября 2010

Я действительно не знаю, в чем ваша проблема, но вы можете выполнить запрос без активной записи.

* 1003 например *

$this->db->query();
1 голос
/ 04 апреля 2017

для ручного подключения к базе данных, просто обычный код

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