[英]php mysql query - Document is empty when adding more fields
I have this mysql query which runs fine: 我有这个运行良好的mysql查询:
$query = "SELECT
USER.USER_ID, NAME, SURNAME, EMAIL, STATUS, PHOTO
FROM FRIENDLIST, USER, USER_PROFILE
WHERE FRIENDLIST.FRIEND_ID = ANY (
SELECT FRIEND_ID FROM FRIENDLIST WHERE USER_ID=".$userID."
)
AND APPROVED='YES'
AND USER.USER_ID=FRIENDLIST.FRIEND_ID
AND USER.USER_ID=USER_PROFILE.USER_ID
UNION
SELECT
USER.USER_ID, NAME, SURNAME, EMAIL, STATUS, PHOTO FROM FRIENDLIST, USER, USER_PROFILE
WHERE FRIENDLIST.FRIEND_ID = " . $userID . "
AND APPROVED = 'YES'
AND USER.USER_ID=FRIENDLIST.USER_ID
AND USER.USER_ID=USER_PROFILE.USER_ID";
When I add a few more fields in the query I get a "Document is empty" error. 当我在查询中添加更多字段时,出现“文档为空”错误。
$query = "SELECT
USER.USER_ID, NAME, SURNAME, EMAIL, STATUS, PHOTO, gender, cposition, rinterest, about
FROM FRIENDLIST, USER, USER_PROFILE
WHERE FRIENDLIST.FRIEND_ID = ANY (
SELECT FRIEND_ID FROM FRIENDLIST WHERE USER_ID=" . $userID . "
)
AND APPROVED='YES'
AND USER.USER_ID=FRIENDLIST.FRIEND_ID
AND USER.USER_ID=USER_PROFILE.USER_ID
UNION
SELECT
USER.USER_ID, NAME, SURNAME, EMAIL, STATUS, PHOTO
FROM FRIENDLIST, USER, USER_PROFILE
WHERE FRIENDLIST.FRIEND_ID = ".$userID."
AND APPROVED='YES'
AND USER.USER_ID=FRIENDLIST.USER_ID
AND USER.USER_ID=USER_PROFILE.USER_ID";
The new fields belong to USER_PROFILE
table. 新字段属于
USER_PROFILE
表。
You're using UNION
so both SELECT
queries must have the exact same number of columns. 您使用的是
UNION
因此两个SELECT
查询必须具有完全相同的列数。 Otherwise your query will fail and that could give errors like the one you see. 否则,您的查询将失败,并且可能会产生类似于您看到的错误。 This error message probably also indicates that the query result is not checked for errors or failures.
该错误消息还可能表明未检查查询结果是否有错误或失败。
This would be much easier to spot if the code were formatted properly. 如果代码格式正确,这将更容易发现。 It is allowed (and advised) to use enters inside a SQL query.
允许(建议)在SQL查询中使用Enter。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.