我从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;
//}
}
答案 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
}