删除方法不删除


Delete method not deleting

得到一个不工作的删除方法…有人知道为什么它返回0吗?

public function deleteItem($item_id)
{
    $userItemIDS = array();
    $userItemIDS = $this->helperClass->userItemIDS();
    if( !in_array($item_id, $userItemIDS) )
    {
        return false;
    }
    $q = $this->db->mysqli->prepare("DELETE i, s FROM items i
        LEFT JOIN save_list s
            ON i.id = s.item_id
        WHERE i.id = ? AND s.item_id = ?
        AND
            NOT EXISTS (SELECT id FROM pending_wins WHERE item_id = ?)
        AND
            NOT EXISTS (SELECT id FROM bids WHERE item_id = ?)");
    if($q)
    {
        $q->bind_param("iiii", $item_id, $item_id, $item_id, $item_id);
        $a_r = $q->affected_rows;
        $q->execute();
        $q->close();
        return $a_r;
    }
}

这些评论很有帮助,我非常感激。然而,我的问题是在查询本身。取出AND s.item_id = ?将删除

items表和save_list表中获取。
 $q = $this->db->mysqli->prepare("DELETE i, s FROM items i
    LEFT JOIN save_list s
        ON i.id = s.item_id
    WHERE i.id = ?
    AND
        NOT EXISTS (SELECT id FROM pending_wins WHERE item_id = ?)
    AND
        NOT EXISTS (SELECT id FROM bids WHERE item_id = ?)");