Php mysqli删除重复的完整行

Php mysqli删除重复的完整行,php,mysqli,Php,Mysqli,我以前从未遇到过查询问题,但我就是无法让它工作。我有两个表格,一个叫做物品销售,另一个叫做物品清单。我的表单有一个下拉菜单,它可以从项目列表中获取所有项目 我需要做的是阻止该下拉列表中已经在items\u sale list+用户\u id=当前用户id上的任何项目 例如,我有第2项和第5项出售,这意味着第2项和第5项都不应该显示在下拉菜单中 我环顾四周,找到了添加DISTINCT和UNION之类的解决方案,但我似乎无法让它删除整行。例如,DISTINCT只删除了一个值,保留了另一个值 销售项目

我以前从未遇到过查询问题,但我就是无法让它工作。我有两个表格,一个叫做物品销售,另一个叫做物品清单。我的表单有一个下拉菜单,它可以从项目列表中获取所有项目

我需要做的是阻止该下拉列表中已经在items\u sale list+用户\u id=当前用户id上的任何项目

例如,我有第2项和第5项出售,这意味着第2项和第5项都不应该显示在下拉菜单中

我环顾四周,找到了添加DISTINCT和UNION之类的解决方案,但我似乎无法让它删除整行。例如,DISTINCT只删除了一个值,保留了另一个值

销售项目: 项目清单:

我要做的第一件事是将用户正在销售的所有商品放入一个数组,然后从不在数组中的items表中提取所有商品

<?php
    $conn = new mysqli('localhost', 'my_user', 'my_password', 'my_db');

    $currentUser = '1234';

    $items = $conn->query("SELECT * FROM item_list WHERE item_ID NOT IN (SELECT item_id FROM items_sale WHERE user_id = '$currentUser')");

是否可以使用NOT IN子查询?您当前的查询是什么样子的?我认为您仍然需要按用户id筛选第二个查询。因此,您可以将这两个查询合并为1个查询。这太棒了!我不知道你可以使用NOT IN作为命令,我会经常使用它。