【发布时间】:2017-10-29 09:05:06
【问题描述】:
我想从 3 个表中删除数据,我有表 user,pemohon,peserta,其中所有表都通过外键相互连接。
这个查询有效,我在mysql上试过
DELETE user,pemohon,peserta
FROM user,pemohon,peserta
WHERE user.id_user=pemohon.id_pemohon AND
pemohon.id_pemohon=peserta.id_peserta AND pemohon.id_pemohon=1
所以我像这样转换为 CodeIgniter
function delete_data($id)
{
$this->db->where('pemohon.id_pemohon=user.id_user');
$this->db->where('pemohon.id_pemohon=peserta.id_peserta');
$this->db->where('pemohon.id_pemohon',$id);
$this->db->delete('pemohon','user','peserta');
}
但是这段代码不起作用,你能修复我的代码吗?谢谢
【问题讨论】:
-
很好。你也可以使用
$this->db->query("Put your query here which you run in mysql") -
@Nidhi 我试过了,$this->db->query("DELETE user,pemohon,peserta FROM user,pemohon,peserta WHERE user.id_user=pemohon.id_pemohon AND pemohon.id_pemohon =peserta.id_peserta 和 pemohon.id_pemohon=$id");但不工作
-
但是你告诉上面
this query work然后为什么它不起作用? .试试给静态IDpemohon.id_pemohon=1并检查$id是否有价值? -
如果我使用静态 id 是可行的,但是当我更改为参数
$id时,id 没有给出值,但是当我打印$id它给出值时,我想我不能直接在$this->db->query中插入$id有没有其他办法? -
您是否尝试在
delete_data函数中打印$id??试试这个: $this->db->query("DELETE user,pemohon,peserta FROM user,pemohon,peserta WHERE user.id_user=pemohon.id_pemohon AND pemohon.id_pemohon=peserta.id_peserta AND pemohon.id_pemohon='".$ id."'");`
标签: php mysql codeigniter