php - 在 php 中的 if 语句中分配给 var

标签 php mysql

下面的代码应该检查该名称是否已经存在于数据库中,如果已经存在则设置一个 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/

相关文章:

php - 路由前缀如下 Virtual Host

php - 使用像 filter_var_array() 这样的 PHP 过滤器函数有没有办法检查输入字符串的长度是否小于某个值

php - 使用 slug url 从 mysql 数据库获取文章

php - 如何检查我的服务器上的 query_cache_type 值

php - 是否可以运行两个命令并在同一页面上处理两个输出

php - Post 方法总是不返回任何内容

php - 可以使用 Cron 作业来模拟 PHP 的多线程吗?

mysql - 返回一列中具有对应于另一列中的给定值的最高值的行

php - PHPMyAdmin 导出的数据库小于 PHPMyAdmin 控制面板中的数据库大小

mysql - 将查询合并为最快答案