Php MySQLi内部连接问题

Php MySQLi内部连接问题,php,select,mysqli,inner-join,Php,Select,Mysqli,Inner Join,我通过SELECT查询引用论坛上的两个表。一个表是phpBB_users表,它保存成员的基本数据,而第二个表是phpBB_profile_fields_data,它保存地址、电子邮件、电话等详细信息。两个表都使用user_id作为键。我的表单选择$smode参数(列出要搜索的各个列标题)和$parameter变量(输入要搜索的实际数据)。结果显示在HTML表格中 这是我的密码: $conn = new mysqli('localhost',$user,$pass,$database); $sq

我通过SELECT查询引用论坛上的两个表。一个表是phpBB_users表,它保存成员的基本数据,而第二个表是phpBB_profile_fields_data,它保存地址、电子邮件、电话等详细信息。两个表都使用user_id作为键。我的表单选择$smode参数(列出要搜索的各个列标题)和$parameter变量(输入要搜索的实际数据)。结果显示在HTML表格中

这是我的密码:

$conn = new mysqli('localhost',$user,$pass,$database);

$sql = "SELECT * FROM phpbb_users 
INNER JOIN phpbb_profile_fields_data ON phpbb_users.user_id = phpbb_profile_fields_data.user_id
WHERE   $smode = $parameter
ORDER BY username";
$result = $conn->query($sql);

如果我选择group_id(在phpbb_users表中)作为$smode变量,并输入给定的组号作为$parameter变量,我会得到该组中成员的一个很好的列表。如果我将$smode变量更改为pf_user_lastname(在phpbb_profile_fields_数据表中),并输入一个通用姓氏,则不会得到任何结果。如果我使用username作为$smode变量(在phpbb_users表中),情况也是如此。我没有结果。group_id列是一个整数,而其他两个是字母数字变量,但当我将$smode更改为pf_mh_year时,这是phpbb_profile_fields_数据表中的一个4位整数,我仍然没有得到任何结果。我在错误日志中没有收到任何错误消息,因为$result->num\u行为零-除了第一个显示列表的情况。

我确实回显了$sql,它看起来很好。但是当我在PHPMyAdmin中测试它时,就像你建议的那样,它表明我需要将$parameter值放在单引号中。不知道为什么在没有它们的情况下,一个整型列可以工作,而另一个整型列不能工作,但不管怎样,现在引号已经就位,一切都可以工作。

echo$sql
添加到脚本中,并在PHPMyAdmin(或任何其他工具)中验证sql语句