如何确定插入数据库操作是否成功?

时间:2011-06-13 14:45:48

标签: php mysql

我从php foreach中插入了一些数据。当数据插入时,我确定数据是否已存在于2个表中?如果没有,插入,否则跳。

但是在这个过程中,我如何知道每个项目数据是否已被插入?

{
//some foreach process get $title, $name, $date
mysql_query("INSERT INTO table1 (title,name,date) SELECT '".$title."','".$name."','".$date."' FROM dual WHERE not exists (SELECT title FROM table1 WHERE table1.title = '".$title."') AND NOT EXISTS (SELECT title FROM table2 WHERE table2.title = '".$title."')");
      //I want to  add some judge like this:
      //if this item insert {
       //do some stuff;
      //} else {
       //do some stuff;
      //}     
}

3 个答案:

答案 0 :(得分:6)

来自http://php.net/function.mysql-query

  

对于其他类型的SQL语句, INSERT ,UPDATE,DELETE,DROP等,mysql_query()在成功时返回 TRUE ,在错误时返回 FALSE

答案 1 :(得分:3)

mysql_query 始终返回一个值。 INSERT成功时返回TRUE。见下面的代码。希望这可以帮助。 :)

 $result=mysql_query($sql);

 // SUCCESSFUL
 if($result){
      echo "Successful";
 }
 // NOT SUCCESSFUL
 else {
      echo "Not inserted";
 }

答案 2 :(得分:1)

这可能会有所帮助

If (mysql_query($sql)){
//Success
}else{
//Failure
echo mysql_error(); //Reason
}