如果两列的值都等于使用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(*)
只返回找到的行数。