所以我有两个表,一个存储用户名,另一个存储个人信息。我想要获得的结果是,我想获取当前活动用户名并将其与个人信息表连接以获取ID,用户名+他们的基本信息显示在表格中。我在谷歌搜索后提出了查询,但似乎我做错了什么。有人能告诉我我做错了吗?
users =包含用户名的表 userinfo表及其基本信息 $ username基本上是存储在$ SESSION
中的变量<?php
$query = mysql_query("
SELECT users.UserID, users.Username, userinfo.FirstName, userinfo.LastName,
FROM users
WHERE users.Username = $username
INNER JOIN userinfo
ON users.UserID=userinfo.UserID");
?>
假设我在该特定代码下面有表格编码的解析数据,那么查询有什么问题? 基本上我不断得到的错误是第2行的错误#1064(当我运行没有php代码的查询时)。提前谢谢!
答案 0 :(得分:1)
<?php
$query = mysql_query("
SELECT users.UserID, users.Username, userinfo.FirstName, userinfo.LastName,
FROM users
INNER JOIN userinfo
ON users.UserID=userinfo.UserID
WHERE users.Username = $username");
?>
语法为 -
SELECT col, ...
FROM <tbl_name> AS t1
INNER JOIN <join_tbl_name> AS t2
ON t1.col = t2.col
WHERE <cond>
答案 1 :(得分:1)
<?php
$query = mysql_query("
SELECT users.UserID, users.Username, userinfo.FirstName, userinfo.LastName
FROM users
INNER JOIN userinfo
ON users.UserID=userinfo.UserID
WHERE users.Username = $username
");
?>
试试这个
答案 2 :(得分:1)
请参阅以下代码。如果你打印它,你会发现错误发生的地方。
echo $query = mysql_query("SELECT users.UserID, users.Username, userinfo.FirstName, userinfo.LastName FROM users WHERE users.Username = '$username' INNER JOIN userinfo ON users.UserID=userinfo.UserID");
或使用
$sql="SELECT users.UserID, users.Username, userinfo.FirstName, userinfo.LastName FROM users WHERE users.Username = '$username' INNER JOIN userinfo ON users.UserID=userinfo.UserID";
if(!mysql_query($sql,$con))
{
echo "Unexpected Error <br/>";;
die (mysql_error());
}
其中 $ con 是mysql连接语句。
答案 3 :(得分:0)
在字段选择结尾处有一个额外的逗号。尝试删除该部分:
$query = "SELECT users.UserID, users.Username, userinfo.FirstName, userinfo.LastName
FROM users
INNER JOIN userinfo
ON users.UserID=userinfo.UserID
WHERE users.Username = $username";