PHP mysqli搜索多个表
我试图搜索3个不同的表,但它似乎不起作用。我必须从users表中删除username,然后它才能工作。如何在每个表中搜索不同的列PHP mysqli搜索多个表,php,mysql,sql,mysqli,Php,Mysql,Sql,Mysqli,我试图搜索3个不同的表,但它似乎不起作用。我必须从users表中删除username,然后它才能工作。如何在每个表中搜索不同的列 $query = "(SELECT name, 'talent' FROM talent WHERE name LIKE '%" . $q ."%') UNION ALL (SELECT name, username, 'users' FROM users WHERE name LIKE '%" . $q ."%')
$query = "(SELECT name, 'talent' FROM talent WHERE name LIKE '%" . $q ."%')
UNION ALL
(SELECT name, username, 'users' FROM users WHERE name LIKE '%" . $q ."%')
UNION ALL
(SELECT name, 'venues' FROM venues WHERE name LIKE '%" . $q ."%')";
您的第一个和最后一个联合将返回2列 中间的联合返回3列,因此删除用户名不会出现错误
使用UNION时,列数和列类型应相同每个
UNION
ed子查询必须返回完全相同的列数。每个对应的列也必须是兼容的类型。如果它们的列数和列类型不相同,我该怎么做?@user2570937,如果列在其中一个select字段中没有值,则需要指定空值或NULL值