[英]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.