php - 如何使用PHP检查MySQL中是否存在一行

原文 标签 php mysql

我正在尝试读取 XML 文件并将其与现有数据库中的字段进行比较。

如果数据库中的 ID 在 XML 文件中不存在,则该 ID 对应的整行不再有效,将被删除。

为此,我在一个 while 语句中从头到尾读取了 XML 的每一行。

作为第一步,我试图做一个简单的比较,如果它在数据库中找到 XML 中不存在的 Id,则回显。

我知道数据库中有一些 Id 在 XML 中不存在,但下面的代码没有显示它们。

我有三个问题,首先我将如何显示从数据库中提取的 Id,其次为什么这段代码没有找到任何不在 XML 中的 id?

最后一个问题是我是否以完全错误的方式解决这个问题,是否有更好的方法来做到这一点!

$sql_result = mysql_query("SELECT id FROM `list` WHERE id =  $id") or die(mysql_error());

if($sql_result)
{
// echo $id . " Id exists " .  $sql_result["id"] . "\n";
}
else
{
echo "Id no longer exists" . $id . "\n";
}

最佳答案

您的代码未找到您期望的内容,因为即使可能找不到 ID,$sql_result仍然持有TRUE值,因为查询成功。相反,检查是否 myqsl_num_rows() > 0

if($mysql_num_rows($sql_result) > 0)
{
  // echo $id . " Id exists "\n";

  //Now, to print the id, you need to fetch it from `$sql_result`, 
  //which is just a resource at this point:
  $row = mysql_fetch_assoc($sql_result);
  echo $row['id'];
}

关于php - 如何使用PHP检查MySQL中是否存在一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6344779/

相关文章:

php - 在 IIS 上部署 PHP 应用程序

php - php ajax从数据库检索数据

php - 是否有一个PHP函数仅将斜杠添加到双引号而不是单引号

mySQL 子查询比 2 个单独的查询慢

php - 选择一个选项以从数据库MySQL和PHP检索它的行

php - Laravel:使用联接和范围查询

javascript - 带有自定义网址的内部页面导航

php - WHERE 子句中的 NULL

mysql - 是否可以将 RDS 实例配置为我当前 MySQL 服务器的从属服务器?

mysql - 如何在Scotch Box中使用Heidi SQL连接MySQL?