即使我选择不同用户制作的活动,我的查询也会给我一个固定数字'2'。
$q=mysql_query("SELECT e.user_id
FROM ".$table_prefix."events e
WHERE EXISTS
(
SELECT email
FROM ".$table_prefix."users u
WHERE e.user_id = u.user_id
)
");
$li = mysql_fetch_row($q);
echo $li;
出了什么问题?
答案 0 :(得分:2)
如果内部语句返回记录,EXISTS返回true,如果没有行则返回false。
您未在声明中的任何位置传递或使用您的用户ID变量。
我更喜欢你对内连接的查询:
SELECT
events.userid
FROM
events INNER JOIN users
ON events.user_id = users.user_id
WHERE
users.userid = ?? -- ur passed userid
答案 1 :(得分:1)
$sql="SELECT e.id
FROM USER e
WHERE EXISTS
(
SELECT email
FROM student u
WHERE e.id = u.user_id
)";
$gosql=mysql_query($sql) or die(mysql_error());
while($row=mysql_fetch_row($gosql)){
echo"<pre>";
print_r($row);
}
or you can use
$sql="SELECT e.id
FROM USER e
WHERE EXISTS
(
SELECT email
FROM student u
WHERE e.id = u.user_id
)";
$gosql=mysql_query($sql) or die(mysql_error());
while($row=mysql_fetch_object($gosql)){
echo"<pre>";
print_r($row);
}
希望它会对你有所帮助。
答案 2 :(得分:0)
你必须改变
echo $li;
到
print_r($li);