PHP 中的 mysql 子查询

发布于 2024-11-17 05:17:26 字数 811 浏览 0 评论 0原文

我有一个 mysql 查询,它使用子查询来选择不在 group_member 表中的组 10 中的所有用户。该查询在 MYsql 工作台上运行良好并返回预期结果。然而,当我在 PHP 脚本中运行它时,它并没有运行子查询部分,而是只是返回所有用户的列表。

任何人都知道这里发生了什么,或者可能有一种不需要子查询的方法?

include('config.php');    

$server = $cfg->dbhost;

$link = mysql_connect($cfg->dbhost, $cfg->dbuser, $cfg->dbpass);
$select = mysql_select_db($cfg->dbname); 

$query = "SELECT * FROM usr WHERE usr.id NOT IN (SELECT DISTINCT member FROM mahara.group_member WHERE mahara.group_member.group='10')";
echo '</br>' . $query . '</br>';
$result = mysql_query($query, $link);    

while ($row = mysql_fetch_assoc($result)) {
    echo $row['id'] , ' ' , $row['username'] , ' ' , $row['firstname'] , ' ' , $row['lastname'] , ' ' , $row['email'] , '</br>';   

}

I have a mysql query that uses a subquery to select all users that are not in group 10 in the group_member table. the query works fine on MYsql workbench and brings back the expected results. However when I run it in a PHP script it's not runnning the subquery part, in stead it's just bringing back a list of all users.

Anyone got any ideas what's going on here or perhaps an approach that doesn't need the subquery?

include('config.php');    

$server = $cfg->dbhost;

$link = mysql_connect($cfg->dbhost, $cfg->dbuser, $cfg->dbpass);
$select = mysql_select_db($cfg->dbname); 

$query = "SELECT * FROM usr WHERE usr.id NOT IN (SELECT DISTINCT member FROM mahara.group_member WHERE mahara.group_member.group='10')";
echo '</br>' . $query . '</br>';
$result = mysql_query($query, $link);    

while ($row = mysql_fetch_assoc($result)) {
    echo $row['id'] , ' ' , $row['username'] , ' ' , $row['firstname'] , ' ' , $row['lastname'] , ' ' , $row['email'] , '</br>';   

}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文