Когда я использую функцию Query Builder, сообщение об ошибке не отображается - PullRequest
0 голосов
/ 13 февраля 2019

Когда я использую функцию Query Builder в codeIgniter, сообщение об ошибке не отображается.

Вот контроллер

<?php
class Controller extends CI_Controller
{
    public function demo()
    {
        $this->load->model("Model");

        $data["name"] = $this->input->post("text");
        $res = $this->Model->add_data($data);
        echo $res;
    }
}
?>

Вот модель

<?php
class Model extends CI_Model
{
    public function add_data($data)
    {
        if ( ! $this->db->insert("table_name",$data))
        {
            $error = $this->db->error();
            return $error["message"];
        }
    }
}
?>

Ответы [ 2 ]

0 голосов
/ 14 февраля 2019

Попробуйте это в вашей модели

$data = array(
    'title' => 'My title',
    'name' => 'My Name',
    'date' => 'My date'
);

$sql = $this->db->set($data)->get_compiled_insert('mytable');
echo $sql;
if (!$this->db->simple_query($sql)) {
    $error = $this->db->error(); // Has keys 'code' and 'message'
}
echo'<pre>';print_r($error);die;

INSERT INTO mytable (title, name, date) VALUES ('My title', 'MyИмя ',' Моя дата ')

Массив
(
[код] => 1146
[сообщение] => Таблица' db.mytable 'не существует
)

0 голосов
/ 13 февраля 2019

Поместите это в свою модель и отобразите это:

В CodeIgniter 3, как @ Viren Panchal сказал, используйте это: error ();

В вашем примере:

$this->db->db_debug = false; 
$res = $this->Model->add_data($data); 
if(!$res) { 
    $error = $this->db->error(); 
    echo $error; 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...