php中mysql_affected_rows()返回-1带来的“陷阱”

请看下面这段简单的代码:

$link = mysql_connect('localhost', 'mysql_user', 'mysql_password'); if (!$link) { die('Could not connect: ' . mysql_error()); } mysql_select_db('mydb'); /* 本例返回被删除记录的准确数目 */ mysql_query('DELETE FROM mytable WHERE id < 10'); printf("Records deleted: %d/n", mysql_affected_rows()); /* 对于非真值的 WHERE 子句,应返回 0 */ mysql_query('DELETE FROM mytable WHERE 0'); printf("Records deleted: %d/n", mysql_affected_rows()); /*一个插入失败的SQL语句,因为返回值为-1,会输出OK*/ mysql_query("insert into tableA(id)values('XXX')"); $affected_rows = mysql_affected_rows(); /*问题出在if这里,执行成功则返回受影响的行的数目,如果最近一次查询失败的话,函数返回 -1。*/ if($affected_rows) echo 'OK'; else echo 'ERROR'; 

 

主要原因应该是对API不熟悉造成的!需要注意一下!谨慎啊...唉...

你可能感兴趣的:(MySQL,Php)