php - Mysql插入数据如果不存在否则显示警告

标签 php mysql mysqli

我需要检查值是否已经存在于表中,如果不存在则插入它,否则我需要显示异常警报

现在我只插入数据而不检查

if(isset($_POST['new_ok'])){$result = mysql_query("INSERT INTO db1 (name) VALUES('".$name."')",$db);}

我试着那样做

if(isset($_POST['new_ok'])){if(mysql_num_rows(mysql_query("SELECT name FROM db1 WHERE name= '$name'");) != 0){$result = mysql_query("INSERT INTO db1 (name) VALUES('".$name."')",$db);}else{echo "wrong";}}

但是mysql_num_rows 总是返回1

最佳答案

试试这个例子

$sq="SELECT * FROM db1 WHERE username='$name'";
 $rsult=mysql_query($sq);      $count=mysql_num_rows ($rsult); 
if($count==1){echo "username already in use"; }

else 
 {//update statement here}

关于php - Mysql插入数据如果不存在否则显示警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28646984/

相关文章:

php - 来自 JSON 的 mysql 中的 bind_param

php - Composer 抛出错误 "Could not find package with stability stable."

php - 是否允许 PHP 修改当前文件夹中的 .htaccess 文件?

php - mysqli->query 在更新时返回 true,但没有行受影响

php - 我应该使用哪个 Paypal API 来支付您的员工?

javascript - 仅识别系统

PHP/MySQL 了解准备好的语句返回什么

php - 此查询是否受到 sql 注入(inject)的保护?

mysql - 在 Delphi 中连接到 Mysql 数据库的最佳方法是什么

php - 如何在 IN 运算符中使用 select 语句和变量?