请问php+mysql如何实现写入数据成功全成功,失败全失败?
比如我一次往数据库中写入10条数据,我想实现,如果全插入成功则提示成功,其中有一条失败的话,则全不要插入,请问该如何实现?...
比如我一次往数据库中写入10条数据,我想实现,如果全插入成功则提示成功,其中有一条失败的话,则全不要插入,请问该如何实现?
展开
展开全部
可以使用MYSQL事务处理,默认的MYSQL是不支持事务的,需要在mysql.ini中开启。 成功开启后,假设你的连接为 $conn; 表结构 tab id 自动增长,主键 val varchar(20) mysql_query('BEGIN',$conn); $data = array(1,'NULL',3,4,5,6,7,8,9,10,11);//不全正确的数据 for($i=0;$i<10;$i++) { $query = mysql_query("INSERT INTO tab(id,val) VALUE ('".$data[$i]."','value_$i')",$conn);//只有第二条插入成功 if(!$query) { //执行失败,马上结束循环并回滚。 mysql_query('ROLLBACK',$conn); break; }else{ //执行成功 mysql_query('COMMIT',$conn); } } mysql_query("END",$conn);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询