使用插入查询CI PHP Mysql Ajax

时间:2019-03-17 01:40:07

标签: php mysql ajax codeigniter xampp

我是使用Code Igniter的新手。我想使用自定义插入查询,原因是我想在查询中使用uuid(),我不确定代码的哪一部分是错误的。我回显了查询,看来自定义查询是正确的,我尝试直接在phpmyadmin上执行它。请帮我。 TIA!

SSL.js

$('#btnSaveSSL').click(function(){
    var SelMerch = $('#merchantList option:selected').val();
    var SSLCert = $('#SSLCert').val();
    var SSLPath = $('#file_SSL').val();
    var ReqDate = $('#ReqDate').val();
    var ExpDate = $('#ExpDate').val();
    var Requester = $('#Requester').val();
    $.ajax({
        type:"post",
        url: baseurl + "SSLController/AddSSLRecord",
        data: {'SelMerch': SelMerch,
                'SSLCert': SSLCert,
                'SSLPath': SSLPath,
                'ReqDate': ReqDate,
                'ExpDate': ExpDate,
                'Requester': Requester},
        success:function(response) 
        {
            alert(response);
        },
        error: function(response) 
        {
            console.log(response.d);
        }
    });
});

SSLController.php

function AddSSLRecord(){
    $SelMerch = $this->input->post('SelMerch');
    $SSLCert = $this->input->post('SSLCert');
    $SSLPath = $this->input->post('SSLPath');
    $ReqDate = $this->input->post('ReqDate');
    $ExpDate = $this->input->post('ExpDate');
    $Requester = $this->input->post('Requester');
    $sql = 'INSERT INTO tbl_user(SSLID,
                                MerchantID,
                                SSL_CertName,
                                SSL_CertPath,
                                RequestDate,
                                ExpirationDate,
                                Requester)  
            VALUES (    uuid()
                     ,' .$this->db->escape($SelMerch).
                    ','.$this->db->escape($SSLCert).
                    ','.$this->db->escape($SSLPath).
                    ','.$this->db->escape($ReqDate).
                    ','.$this->db->escape($ExpDate).
                    ','.$this->db->escape($Requester).')';
     $this->SSLModel->CreateSSLRecord($sql);

    // echo "success" . $sql;
}

SSLModel.php

public function __construct() {
        parent::__construct();
        $this->load->database();
    }
function CreateSSLRecord($sql){
        $this->db->insert("tbl_ssl", $sql);  
    }

2 个答案:

答案 0 :(得分:1)

如果您的自定义查询正确无误,并且工作正常,那么您可以考虑使用此查询:

$this->db->query($your_query);

但是在使用此方法之前,请不要忘记清理输入内容。

答案 1 :(得分:0)

或者您可以使用 Codeigniter 提供的 Query Builder

$data = array(
 'rowname1' => 'value1',
 'rowname2' => 'value2',
 'rowname3' => 'value3' 
);

$this->db->insert('yourtablename',$data);