PHP:检查SQL表中的两列值是否正确


PHP : Check If Two Column-Values are Correct in SQL Table

如果两列的值都等于使用PHP指定的值,我想检查SQL表。我的桌子是这样的:

             my_db 
------------------------------------------
 code       | user | email               |
------------------------------------------
 10314343   |  20  | example@example.com |
 13423434   |  22  | example@example.com |
 11342434   |  40  | example@example.com |

这是我的PHP,虽然不起作用:

// Set variables
$tbl_name = mydb;
$matchCode   = "10314343"
$matchUserID = "20"
// Query matchCode and MatchUSerID on db
$getName = "SELECT FROM $tbl_name WHERE user ='$matchUserID' ";
$queryName = mysql_query($getName);
// Query matchCode and MatchUSerID on db
$getCode = "SELECT FROM $tbl_name WHERE code ='$matchCode' ";
$queryCode = mysql_query($getCode);

// If these match 
if($queryCode == 1 || $queryName == 1) {
  echo "The User ID and Code Value Both Match";
}

我不确定这是否是最好的做事方式。我想您可以通过"用户"ID获取整行数据,然后查询该行的"代码"值。尽管我不确定该怎么做。

我试图实现的是一个sql查询,它检查我的变量是否与$matchUserID行中的"代码"的数据匹配。

您没有选择任何内容,而且如果您想检查一行中的两个值是否相同,您应该组合查询:

$sql = "SELECT COUNT(*) FROM $tbl_name WHERE user ='$matchUserID' AND code = '$matchCode'";
$result = mysql_query($sql) or die(mysql_error());
$hasMatch = mysql_result($result, 0);
if ($hasMatch) {
    ...
}

由于您只想知道表中是否存在行,因此可以使用COUNT(*)只返回找到的行数。