我有一个问题,请谁能帮我。 提前谢谢你。在这里。我有两个表格,如下所示
选项卡1
id | name | input_1
1 | mon | A
2 | ryan | Q
3 | cedie | K
4 | jane | D
选项卡2
id | input_2
1 | A
2 | R
3 | k
4 | S
我想发生的是显示所有行的名称和回显,如果input_1和input_2匹配。 现在我有这个查询。我知道缺少一些东西。
$query = mysql_query("SELECT * FROM `tab1`
INNER JOIN `tab2` ON tab1.id = tab2.id") or die(mysql_error);
while($row = mysql_fetch_array($query))
{
if($row['input_1']==$row['input_2'])
{
echo $row['name'];
echo "Your input match!";
}
else
{
echo $row['name'];
echo "Your input didn't match!";
}
}
但它表明我的所有输入都匹配,即使某些值不匹配。出了什么问题?请帮忙。我只是PHP的初学者。请帮忙。
试试这个(如果你不想检查CASE-SENSITIVE
):
SELECT * FROM
tab1 t1
INNER JOIN
tab2 t2
ON t1.id = t2.id
WHERE UPPER(t1.input_1) = UPPER(t2.input_2)
而这个(如果你想检查CASE-SENSITIVE
):
SELECT * FROM
tab1 t1
INNER JOIN
tab2 t2
ON t1.id = t2.id
WHERE t1.input_1 = t2.input_2
您在此处向我们展示的数据和代码不会产生您所描述的结果。(请注意,id=3 存在一些歧义)。
确保此代码与服务器上正在执行的代码匹配(请注意,如果您使用的是操作码缓存,则可能将其配置为不检查对文件的更改)。
我在移动设备上,所以我稍后会格式化它。
$query = mysql_query("SELECT t1.name, t1.input_1, t2.input_2 FROM tab1 t1 JOIN tab2 t2 ON t1.id = t2.id") or die(mysql_error);
while($row = mysql_fetch_assoc($query))
{
if($row['input_1']==$row['input_2'])
{
echo $row['name'];
echo "Your input match!";
}
else
{
echo $row['name'];
echo "Your input didn't match!";
}
}