0

我的 php 脚本中有一个 sql 语法,它给了我一个错误。我想要的只是得到 2 sql statemet 的结果。

$sql1 = " SELECT `name`, `surname`, `email`, `user_id` FROM users WHERE (surname LIKE '$name%' AND name LIKE '$surname%') OR (surname LIKE '$surname%' AND name LIKE '$name%') ";

$sql2 = " SELECT profile_id from profile WHERE `country`='uk'   ";

我想从我的数据库中获取 $sql1 和 $sql2 的值。我使用这样的 UNION 语句,但它不起作用。任何想法如何解决它:

$sql = " (SELECT `name`, `surname`, `email`, `user_id` FROM users WHERE (surname LIKE '$name%' AND name LIKE '$surname%') OR (surname LIKE '$surname%' AND name LIKE '$name%')) UNION (SELECT profile_id from profile WHERE `country`='uk' )  ";
4

1 回答 1

5

UNION 查询必须具有相同的输出字段。

您在联合查询中组合的选择查询必须具有相同数量的输出字段、相同的顺序以及相同或兼容的数据类型。

于 2013-07-24T11:09:58.480 回答