我是使用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);
}
答案 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);