php - mysql 查询没有给我正确的输出

标签 php mysql

即使我选择了由不同用户创建的事件,我的查询也会给我一个固定数字“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;

怎么了?

最佳答案

如果内部语句返回记录,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

关于php - mysql 查询没有给我正确的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17463705/

相关文章:

php - 图片缩放不变形

php - InnoDB异常关闭时会崩溃吗

sql - 如何将 Sql Server 数据库移植到 MySQL?

java - 在 FFMPEG 写入文件时读取文件

php - fopen() : SSL: Connection reset by peer error in php

php - 同时存在createdBy和updatedBy时正确加入users表

php - 如何从多个(指定的)帖子中获取图像附件

java - Oracle 数据库返回的字符串与 MySql 不同

php - PHP中foreach的计数部分是如何实现的?

mysql - 具有挑战性的 MySQL 查询