2011-06-13 69 views
1

我从一个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; 
     //}  
} 

回答

6

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

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

+0

是否有某种错误日志的时候这些操作失败? – 2011-10-25 19:13:36

3

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

$result=mysql_query($sql); 

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

这可能有助于

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