Php 显示数据库中已存在数据的文本

Php 显示数据库中已存在数据的文本,php,Php,我正在努力学习php。我决定做一个简单的系统作为练习。我可以将数据添加到我的数据库中。现在,如果数据库中已经存在项目id,我想阻止用户添加数据。我也能做到这一点。我的问题是文本总是显示交易是“成功的”,尽管它不是。如有任何回复,将不胜感激。如有任何回复,将不胜感激。这是我的密码: $query = "select * from setup_project where spin='$sspin' order by title"; $numresults=mysql_query($query)

我正在努力学习php。我决定做一个简单的系统作为练习。我可以将数据添加到我的数据库中。现在,如果数据库中已经存在项目id,我想阻止用户添加数据。我也能做到这一点。我的问题是文本总是显示交易是“成功的”,尽管它不是。如有任何回复,将不胜感激。如有任何回复,将不胜感激。这是我的密码:

$query = "select * from setup_project where spin='$sspin' order by title"; 

 $numresults=mysql_query($query);
 $numrows=mysql_num_rows($numresults);



if ($numrows == 0)
 $query = mysql_query("insert into setup_project value ('$sspin','$stitle','$sfirm_id','$sequip','$sdateapp','$samnt','$srem');");



else{
 echo "SPIN already Exists!";
}

$message = "Successfully Added Project  to Database!";  



?>
<br><br><br><br><br><br>
<center><font size="6"><? echo "$message" ?></font></center>
这更容易:

  $query = mysql_query("insert into setup_project value ('$sspin','$stitle','$sfirm_id','$sequip','$sdateapp','$samnt','$srem');");


 if (mysql_errno==0){
    $message = "Successfully Added Project  to Database!";
  }
  elseif (mysql_errno==1062){
    echo "SPIN already Exists!";
  }
很多时候,我想插入,如果插入失败,我会在插入之后进行更新

然后用$impacted=mysql\u impacted\u行检查更新

 if (mysql_errno==0){
   $message = "Successfully Added Project  to Database!";
 }
 elseif (mysql_errno==1062){
   UPDATE setup_project SET (...) VALUES(...) WHERE ????
   $affected = mysql_affected_rows();
   if ($affected == 0){
     echo "Record was updated";
   }
   else{
     echo 'Record Exists, No Updates';
   }
 }
 else{
   echo mysql_error();
 }

在if…else块之外,$message变量被设置为“Successful…”,因此无论if条件如何,它都将被设置。此外,请注意SQL注入,当前代码易受攻击。看看这里:有关mysqli和PDO的安全示例。