如何检查值是否存在于 MySQL 数据库中

新手上路,请多包涵

假设我有这张桌子:

 id | name | city
------------------
1  | n1   | c1
2  | n2   | c2
3  | n3   | c3
4  | n4   | c4

我想检查值 c7 是否存在于变量 city 下。

如果是这样,我会做点什么。

如果没有,我会做其他事情。

原文由 Hatim 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 732
2 个回答

首选方式,使用 MySQLi 扩展(从 PHP 5 开始支持):

 $mysqli = new mysqli(SERVER, DBUSER, DBPASS, DATABASE);
$result = $mysqli->query("SELECT id FROM mytable WHERE city = 'c7'");
if($result->num_rows == 0) {
     // row not found, do stuff...
} else {
    // do other stuff...
}
$mysqli->close();


在 PHP 7 或更新版本中已弃用且不支持:

 $result = mysql_query("SELECT id FROM mytable WHERE city = 'c7'");
if(mysql_num_rows($result) == 0) {
     // row not found, do stuff...
} else {
    // do other stuff...
}

原文由 Reinder Wit 发布,翻译遵循 CC BY-SA 4.0 许可协议

如果您使用的是 PHP 版本 8,这就是对我有用的方法

$result = mysqli_query(database name, "SELECT id FROM mytable WHERE city = 'c7'");

  if(mysqli_num_rows($result) == 0) {
       // Do Something
  }
  else {
      // Do something else
  }

我的答案和 Reindeer Wit 的区别在于 mysqli_querymysqli_num_rows() 中的 “i”

还包括您正在使用的 mysqli_query() 内的 数据库名称

原文由 Adan Vivero 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题