我很难把MySQL查询放到php Codeigniter。我尝试搜索,但我还没有找到。
这是代码:
UPDATE `Pelayanan` SET `TGLBAYAR` = INSERT(`TGLBAYAR`, 3, 0, '/'), INSERT(`TGLBAYAR`, 6, 0, '/')
UPDATE `Pelayanan` SET `TGLRUBAH` = INSERT(`TGLRUBAH`, 3, 0, '/'), INSERT(`TGLRUBAH`, 6, 0, '/')
ALTER TABLE `Pelayanan` MODIFY COLUMN (`TGLBAYAR` DATE, `TGLRUBAH` DATE)
UPDATE `Pelayanan` SET `LAMA` = DATEDIFF(`TGLBAYAR`, `TGLRUBAH`)
我想按顺序运行此代码,但我不知道是否使用CASE或其他东西。 controller.php和model.php的代码如何?
是什么
INSERT(
TGLBAYAR
,3,0,'/'),INSERT(TGLBAYAR
,6,0,'/')
你能把它改成字符串吗?如果可以,在您的模型上添加此功能并从控制器调用它
public function update_data(){
$fields = array(
'TGLBAYAR' => "INSERT(`TGLBAYAR`, 3, 0, '/'), INSERT(`TGLBAYAR`, 6, 0, '/')",
'TGLRUBAH' => "INSERT(`TGLRUBAH`, 3, 0, '/'), INSERT(`TGLRUBAH`, 6, 0, '/')"
);
$this->db->update('Pelayanan', $fields, array());
$fields = array(
'TGLBAYAR' => array(
'name' => 'TGLBAYAR',
'type' => 'DATE',
),
'TGLRUBAH' => array(
'name' => 'TGLRUBAH',
'type' => 'DATE',
),
);
$this->db->modify_column('Pelayanan', $fields);
$fields = array(
'LAMA' => "DATEDIFF(`TGLBAYAR`, `TGLRUBAH`)"
);
$this->db->update('Pelayanan', $fields, array());
}
alter table部分应如下:
$this->load->dbforge();
$fields = array(
'TGLBAYAR' => array(
'name' => 'TGLBAYAR',
'type' => 'DATE',
),
'TGLRUBAH' => array(
'name' => 'TGLRUBAH',
'type' => 'DATE',
),
);
$this->dbforge->modify_column('Pelayanan', $fields);
另外,如果您有任何错误消息,请与我们分享。
无论您的查询是什么,只需将其放在函数$ this-> db-> query中,它就会非常容易地执行,您可以根据需要正确理解它。我在下面为你的mysql查询提供了一个示例:
$query = $this->db->query(" UPDATE `Pelayanan` SET `TGLBAYAR` =
INSERT(`TGLBAYAR`, 3, 0, '/'), INSERT(`TGLBAYAR`, 6, 0, '/')
UPDATE `Pelayanan` SET `TGLRUBAH` = INSERT(`TGLRUBAH`, 3, 0, '/'),
INSERT(`TGLRUBAH`, 6, 0, '/') ALTER TABLE `Pelayanan` MODIFY COLUMN
(`TGLBAYAR` DATE, `TGLRUBAH` DATE) UPDATE `Pelayanan` SET `LAMA` =
DATEDIFF(`TGLBAYAR`, `TGLRUBAH`) ");