PHP / MySQL选择查询问题

时间:2014-01-24 23:03:25

标签: php mysql database

我想知道是否有人能帮助我。我目前有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];

1 个答案:

答案 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()之后。如果查询错误(格式错误,字段错误等),则会输出有用的错误。