gpt4 book ai didi

mysql - 左连接不适用于 codeigniter

转载 作者:行者123 更新时间:2023-11-30 22:12:34 24 4
gpt4 key购买 nike

我是代码 igniter 的新手。我正在尝试使用连接多个表来执行 delete 查询,但我在查询中遇到错误。

这是我的查询代码。

$this->db->from('order');   
$this->db->join('item_order', 'item_order.order_id = order.order_id','left');
$this->db->join('product', 'product.product_number = item_order.item_number','left');
$this->db->join('product_to_image', 'product_to_image.p_id = product.products_id','left');
$this->db->join('product_to_dropbox', 'product_to_dropbox.products_id = product.products_id','left');

$this->db->where('order.user_name', $ebay_user_name);
$this->db->where('order.user_id', $user_id);

$this->db->delete('order');

最佳答案

当使用 Codeigniter 时,您不能使用 Join 执行 DELETEsee herehere .

您需要编写一个自然的 SQL。见链接1:

$sql = "DELETE o FROM order as o
LEFT JOIN item_order ON item_order.order_id = order.order_id
LEFT JOIN product ON product.product_number = item_order.item_number
LEFT JOIN product_to_image ON product_to_image.p_id = product.products_id
LEFT JOIN product_to_dropbox ON product_to_dropbox.products_id = product.products_id

WHERE order.user_name = ? and order.user_id = ?";
$this->db->query($sql, array($ebay_user_name, $user_id));

或者尝试使用反引号`。但我不确定是否要转义它们:

$sql = "DELETE o FROM `order` as o
LEFT JOIN `item_order` ON item_order.order_id = order.order_id
LEFT JOIN `product` ON product.product_number = item_order.item_number
LEFT JOIN `product_to_image` ON product_to_image.p_id = product.products_id
LEFT JOIN `product_to_dropbox` ON product_to_dropbox.products_id = product.products_id
WHERE order.user_name = ? and order.user_id = ?";
$this->db->query($sql, array($ebay_user_name, $user_id));

关于mysql - 左连接不适用于 codeigniter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39593763/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com