【发布时间】:2018-06-10 05:55:56
【问题描述】:
我有下面这样的mysql查询:
$missingTypo = mysql_query("SELECT m.ID
FROM table1 AS m
LEFT JOIN table2 AS ut
ON ut.matchID = m.ID
WHERE data > '$now'
EXCEPT
SELECT m.ID
FROM table1 AS m
LEFT JOIN table2 AS ut
ON ut.matchID = m.ID
WHERE data > '$now'
AND ut.typer = '$name'");
第一个状态查询返回 3 个结果 [10, 11, 12],第二个返回 1 个结果 [10]。整个查询的结果应该是 [11, 12] 但它不起作用。 var_dump 函数返回 false。 但是,如果我将“EXCEPT”交换为例如“UNION ALL”,它可以正常工作并给出 [10, 11, 12, 10]。
请帮忙。
【问题讨论】:
-
不要使用已弃用且不安全的
mysql_*-函数。它们自 PHP 5.5(2013 年)以来已被弃用,并在 PHP 7(2015 年)中完全删除。请改用 MySQLi 或 PDO。