繁体   English   中英

PHP / MySQL选择查询问题

[英]PHP/MySQL select query issues

我想知道是否有人可以帮助我。 我目前有3张桌子,如下所示:

用户(用户ID,用户名,名字,姓氏,密码)模块(模块ID,名称,CRN)userModule(用户ID,模块ID)

什么是访问此内容的最佳方法? 从基础研究看来,正确的加入似乎是合适的...

我将如何基于user_id变量查看模块表?

我之前在这里给了它,但似乎没有用。

$result = mysql_query("SELECT * FROM module JOIN userModule ON (module.module_id = userModule.module_id) JOIN users ON (userModule.user_id = users.user_id) WHERE user_id = 2");

$row = mysql_fetch_row($result);

echo $row[0];
echo $row[1];
echo $row[2];
$result = mysql_query("SELECT * FROM modules LEFT JOIN userModule ON userModule.module_id = modules.module_id WHERE userModule.user_id = 2");

它应该工作!

更好的是,如果您只想获取模块信息:

SELECT modules.* FROM modules ....

我使用了LEFT JOIN,但还有其他几种方法:RIGHT JOIN,INNER JOIN或FULL JOIN。 在这里查看这些方法之间的区别: http : //www.w3schools.com/sql/sql_join.asp

另外,您应始终添加“或die(mysql_error());”。 在您的mysql_query()之后。 如果查询错误(格式错误,字段写错等),它将显示一个有用的错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM