Php 使用Where和Join在一起

Php 使用Where和Join在一起,php,mysql,sql,Php,Mysql,Sql,所以我有两个表,一个存储用户名,另一个包含他们的个人信息。我试图得到的结果是,我想要获取当前活动用户名,并将其与个人信息表连接,以获取ID、用户名+他们的基本信息,并显示在表中。我在谷歌搜索后提出了这个问题,但似乎我做错了什么。有人能告诉我我做错了什么吗 users=包含用户名的表 userinfo表及其基本信息 $username基本上是存储在$SESSION中的变量 <?php $query = mysql_query(" SELECT users.UserID, users.User

所以我有两个表,一个存储用户名,另一个包含他们的个人信息。我试图得到的结果是,我想要获取当前活动用户名,并将其与个人信息表连接,以获取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");
?>
假设在特定代码的正下方有解析数据到表的编码,那么查询有什么问题? 基本上,当我在没有php代码的情况下运行查询时,我一直得到的错误是第2行的错误1064。提前谢谢

<?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>

试试这个

选择字段的末尾有一个额外的逗号。尝试删除该部分:

$query = "SELECT users.UserID, users.Username, userinfo.FirstName, userinfo.LastName
FROM users
INNER JOIN userinfo
ON users.UserID=userinfo.UserID
WHERE users.Username = $username";

请参阅下面的代码。如果您打印它,您将发现错误发生的地方

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连接语句。

如果您不确定与语法相关的内容,请不要猜测,而是查看文档:我没有猜测。我偶然发现了其他的stackoverflow答案和答案,并在途中进行了调整。我知道如何分开做,但我似乎不知道如何一起做。事实上,我看过好几部纪录片,只是让我感到困惑。很抱歉,谢谢你的帮助。我边走边调整,这只是猜测。编程不是调整某些东西,而是遵循文档中定义的强大语法规则。好吧,那我就错了:。谢谢你的建议。同样的错误。我甚至尝试将变量更改为数据库中存在的数据。其中Username='Test'我实际上尝试了你给我的第二个答案,替换了所有的tbl名称和cond,仍然得到了相同的错误。不过还是要谢谢你,你帮了我很大的忙:我的标题里有这个链接。我想我把查询部分搞砸了,这就是原因。但真的谢谢你!
$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());
      }