我想知道是否有人能帮助我。我目前有3个表格如下:
用户(user_id,username,first_name,last_name,password) module(module_id,name,crn) userModule(user_id,module_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];
答案 0 :(得分:1)
$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
另外,你应该总是添加“或者死(mysql_error());”在你的mysql_query()之后。如果查询错误(格式错误,字段错误等),则会输出有用的错误。