MYSQL和PHP代码在数据库中显示匹配和不匹配的条目


MYSQL and PHP code shows match and unmatched entry in database

我有一个问题,请谁能帮我。 提前谢谢你。在这里。我有两个表格,如下所示

选项卡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!";
   }
 }