如果相同的ID尚不存在,请插入一行

时间:2016-06-06 17:52:37

标签: php sql

我想检查id是否存在。如果id不存在,那么我需要在sql数据库中插入一行。这是我的代码。但问题是它总是插入一行。

mysql_select_db($database_include, $include);
$query_user = "SELECT * FROM `user` WHERE `userid` = '$id'";
$user = mysql_query($query_user, $include) or die(mysql_error());
$row_user = mysql_fetch_assoc($user);
$totalRows_user = mysql_num_rows($user);



if($totalRows_user == 0){
mysql_select_db($database_include, $include);
$query_insert = "INSERT INTO user (userid, point, followors)VALUES ($id,'10','0');";
$user = mysql_query($query_insert, $include) or die(mysql_error());
}

该怎么办?

2 个答案:

答案 0 :(得分:1)

您可以尝试使用mysql的ON DUPLICATE KEY UPDATE功能,您可以用一句话进行插入/更新...

http://dev.mysql.com/doc/refman/5.7/en/insert-on-duplicate.html

答案 1 :(得分:0)

if($totalRows_user == 0)可以隐式转换为false,表示您上次查询时出错。

来自mysql_num_rows

上的文档
  

成功时结果集中的行数,或者失败时为FALSE。

使用相同的运算符===

if($totalRows_user === 0)