php获取mysql更新结果
发布网友
发布时间:2022-10-10 09:15
我来回答
共5个回答
热心网友
时间:2023-10-06 05:23
php有一个方法是mysql_affected_rows(),这个方法的意思是获取上一次操作数据库的所影响的行数
可以使用这个方法来判断是否update语句是否执行成功。
直接使用mysql_query($sql),个人觉得其实也可以的,但是前提是数据库类型是那种自动提交类型,像MyISAM 而不是需要手动提交的类型,像:InnoDB
个人理解:自动提交类型会直接处理$sql语句,只要这个语句没有错误,那么就一定是执行成功的。并且一定是已经执行了,但是需要手动提交的类型就算这个SQL没有错误,如果你没有手动提交那么这个语句是不会执行的,那么你的表中的数据其实没有改变,这个尽针对于非select语句。追问数据的值跟你要跟新的数据一模一样的话,mysql_affected_rows返回的是0,后台判断的话0是不成功的,我希望这个结果还是成功的
追答你可以将两者结合起来
使用mysql_affected_rows这个方法来判断有没有更新数据,这个是判断影响行数,没有影响为0
加上mysql_query执行的结果,这个是执行结果
用“或”判断就行了。
热心网友
时间:2023-10-06 05:23
你可以更新的时候更新其他的字段比如添加时间,或者新增字段is_update,这样你就能监控是否更新了
热心网友
时间:2023-10-06 05:24
<?php
$sql="update tablename set *=*";
$result=mysql_query($sql);
if (! $result) {
echo "not ok"
exit ();
}
else echo"ok";
?>
热心网友
时间:2023-10-06 05:25
$sql="update sql";
if(mysql_query($sql)){
success
}else{
not success
}
热心网友
时间:2023-10-06 05:25
<?php
/* 连接数据库 */
mysql_connect("localhost", "mysql_user", "mysql_passWord") or die ("Could not connect" . mysql_error());
mysql_select_db("mydb");
/* Update 记录 */
mysql_query("UPDATE mytable SET used=1 WHERE id < 10");
print_r("Updated records: %d\n", mysql_affected_rows());
/*mysql_affected_rows() 是取你当前语句执行后影响的行数,如果不等于0说明UPDATA执行成功。所以有了下面判断*/
if(mysql_affected_rows()){
echo "sql执行成功";
}else{
echo "sql执行失败";
}
?>