codeigniter插入oracle错误文件名:C:examplephtdocssystemdatab


codeigniter insert oracle error Filename: C:xampphtdocssystemdatabaseDB_driver.php Line Number: 330

因此,当我尝试插入oracle数据库时,会出现此错误。我认为我的所有配置都是正确的,我做的事情也很正确,但不知道问题出在哪里,因为我没有数字错误。

错误:

Error Number:
INSERT INTO "articulo" ("id", "titulo", "descripcion", "cuerpo") VALUES (1, 'titulo', 'descripcion', 'CUERPO')
Filename: C:'xampp'htdocs'system'database'DB_driver.php
Line Number: 330

控制器类别:

class Articulos extends CI_Controller {
function index(){
    //cargo el helper de url, con funciones para trabajo con URL del sitio
    $this->load->helper('url');
    $this->load->database();  
    //cargo el modelo de artículos
    $this->load->model('Articulo_model');
    //pido los ultimos artículos al modelo
    $this->Articulo_model->introducir_articulos();
}}

模型类中的函数:

function introducir_articulos(){
    $data = array(
            'id'=>1,
           'descripcion'=>"descripcion",
           'cuerpo'=>"CUERPO",
           'titulo'=>"titulo"
        );
    $this->db->insert('articulo', $data); 

}

由于这只是插入,所以它没有视图。无论如何,这是我的conf文件。

DATABASE.php

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'ci';
$db['default']['password'] = 'ci';
$db['default']['database'] = '';
$db['default']['dbdriver'] = 'oci8';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;

我最近读到,有些地方说,当数据库名称基于oracle时,在配置中放一个数据库名称是没有用的。

欢迎任何帮助。

ps:对不起我的英语。

编辑:现在我知道为什么,但不知道如何修复它,似乎这直接得到了这个查询:

INSERT INTO "articulo" ("id", "titulo", "descripcion", "cuerpo") VALUES (1, 'titulo', 'descripcion', 'CUERPO')

这是一个引号的问题,它不应该把引号插入插入,所以它应该是这样的。

 INSERT INTO articulo (id, titulo, descripcion, cuerpo) VALUES (1, 'titulo', 'descripcion', 'CUERPO')

有什么建议吗?

重新编辑:

好吧,这真的很疯狂,不是引号问题,当你从PHP(或者至少从代码点火器(编写查询时,oracle似乎是区分大小写的,我只是把它们放在caps锁中(就像在oracle中一样(,然后就工作了。这就是最终模型的功能:

function introducir_articulos(){
    $data = array(
            'ID'=>5,
            'TITULO'=>"titulo",
           'DESCRIPCION'=>"descripcion",
           'CUERPO'=>"CUERPO"
        );

    $this->db->insert("ARTICULO", $data); 

}

无法回答我自己的问题,所以我在这里回答了。

在您的配置"DATABASE.php"中,您应该完成以下语句

$db['default']['database'] = '';

好吧,这真的很疯狂,当你从PHP编写查询时,oracle似乎区分大小写。(或者至少来自代码点火器(只是把它们锁在盖子里,然后工作了3个小时。这就是最终模型的功能:

function introducir_articulos(){
    $data = array(
            'ID'=>5,
            'TITULO'=>"titulo",
           'DESCRIPCION'=>"descripcion",
           'CUERPO'=>"CUERPO"
        );

    $this->db->insert("ARTICULO", $data); 

}

相关文章:
  • 没有找到相关文章