下面的代码应该检查该名称是否已经存在于数据库中,如果已经存在则设置一个 bool 值。但即使名称不存在,它也会设置 bool 值;这个我已经验证过很多次了。所以我认为一定是我的代码错了。我将下面的行理解为检查以查看
if ($row = mysql_fetch_assoc($result))
我认为这一行是在检查是否找到了结果。如果找到结果,则条件评估为 TRUE,因此 $row
被分配。对吗?
您是否发现代码有任何其他问题或做得不好?我怀疑包含 mysql_query
的行,因为有时,当您搜索不在数据库表中的名称时,它仍会进入 if
block 。
$udid_mismatch = false;
$name_found = false;
$result = mysql_query("SELECT udid
FROM $table
WHERE name='$name'");
if($row = mysql_fetch_assoc($result)) {
$name_found = true;
if($row['udid'] != $udid) {
$udid_mismatch = true;
}
}
最佳答案
$udid_mismatch = $name_found = false;
$result = mysql_query("SELECT `udid `
FROM `$table `
WHERE `name` = '$name'");
if (mysql_num_rows($result) > 0) {
$name_found = true;
while ($row = mysql_fetch_assoc($result)) {
if ($row['udid'] != $udid) {
$udid_mismatch = true;
break;
}
}
}
关于php - 在 php 中的 if 语句中分配给 var,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6599898/