我的PHP代码中有一个值列表。我们可以说:
$myList = array("one", "two", "three")
我想选择表中不存在的数组值。
我尝试过类似的东西:
SELECT *
FROM (my-list-here)
WHERE
NOT EXISTS (
SELECT * FROM my_table WHERE value IN (my-list-here)
)
我不知道如何从该数组中选择值:(
答案 0 :(得分:1)
我不知道我们是否真的可以为数组执行SQL查询,而不是像你这样的表格
SELECT *
FROM (my-list-here)
WHERE...
您可以做的是使用查询从表中获取值的数组,并使用array_diff
删除$myList
数组中存在的值。
答案 1 :(得分:1)
我认为你必须务实地做到这一点:
你的阵列:
$myList = array("one", "two", "three");
从表中获取数据(例如PDO库)
$dbh = new PDO("mysql:host=".$host.";dbname=".$dbName, $username, $password);
$sth = $dbh->prepare("SELECT * FROM my_table");
$sth->execute();
/* Fetch all of the values of the first column for example */
$tableList = $sth->fetchAll(PDO::FETCH_COLUMN, 0);
从$ myList中排除$ tableList
$results = array_diff($myList, $tableList);