使用插入查询 CI PHP Mysql Ajax

Posted

技术标签:

【中文标题】使用插入查询 CI PHP Mysql Ajax【英文标题】:Using insert query CI PHP Mysql Ajax 【发布时间】:2019-08-07 17:52:20 【问题描述】:

我刚开始使用 Code Igniter。我想使用自定义插入查询,原因是我想在我的查询中使用 uuid() 并且我不确定我的代码的哪一部分是错误的。我回应了查询,似乎自定义查询是正确的,我尝试直接在我的 phpmyadmin 上执行它。请帮我。蒂亚!

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);  
    

【问题讨论】:

如果你是 CodeIgniter 的新手,我强烈建议你阅读使用 $this->db->insert('table_name',$data) 的用户指南。 codeigniter.com/userguide3/database/query_builder.html#id7 【参考方案1】:

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

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

但不要忘记在使用此方法之前清理您的输入。

【讨论】:

【参考方案2】:

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

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

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

【讨论】:

以上是关于使用插入查询 CI PHP Mysql Ajax的主要内容,如果未能解决你的问题,请参考以下文章

PHP:如果用户未按下提交按钮,Mysql 回滚多个查询(通过 ajax 完成)

从 PHP (jQuery/AJAX) 插入 MySQL

使用 Ajax 和 PHP 插入数据库(mysql)

无法使用 Php 和 jquery ajax 在 mysql 中插入 FormData

如何将希伯来语值插入 php 中的 mysql 数据库

无法使用 PHP 和 JQuery Ajax 将新记录插入 mysql db