Heim >Backend-Entwicklung >PHP-Tutorial >MySQL如何确认update,delete,insert语句成功执行?
如题,现在一直通过mysql_affected_rows()在判断,这样的话就造成几乎每一句update,delete,insert后面必然要跟一句
if(mysql_affected_rows()!=1)
{
报错
}
请问有什么更简便的办法吗?
mysql_affected_rows 不是用于检查执行是否成功的
而是用于观察相关 sql 指令对多少记录进行了操作
直接
if(执行sql语句){.....}else{......}
mysql_affected_rows 不是用于检查执行是否成功的
而是用于观察相关 sql 指令对多少记录进行了操作
判断影响了几行mysql_affected_rows() 肯定是要执行的。
无论影响多少行(包括0行)都不是错误
无论影响多少行(包括0行)都不是错误
如题,现在一直通过mysql_affected_rows()在判断,这样的话就造成几乎每一句update,delete,insert后面必然要跟一句
if(mysql_affected_rows()!=1)
{
报错
}
请问有什么更简便的办法吗?
update 没有符合条件的记录,就不会修改,如果被修改的值和原值一样,则修改不会真正发生
delete 没有符合条件的记录,就不会删除,如果有多条符合条件的记录,自然也就一并删除了
insert 只会影响一条,哪怕是用缩略写法的 insert 语句插入了 100 条
看不出这与事务有什么关系
update 没有符合条件的记录,就不会修改,如果被修改的值和原值一样,则修改不会真正发生
delete 没有符合条件的记录,就不会删除,如果有多条符合条件的记录,自然也就一并删除了
insert 只会影响一条,哪怕是用缩略写法的 insert 语句插入了 100 条
看不出这与事务有什么关系
update 没有符合条件的记录,就不会修改,如果被修改的值和原值一样,则修改不会真正发生
delete 没有符合条件的记录,就不会删除,如果有多条符合条件的记录,自然也就一并删除了
insert 只会影响一条,哪怕是用缩略写法的 insert 语句插入了 100 条
看不出这与事务有什么关系
$result = mysql_query("update ……")if ($result !== false){ echo "exec success";}else{ echo "exec error:".mysql_error():}
update 没有符合条件的记录,就不会修改,如果被修改的值和原值一样,则修改不会真正发生
delete 没有符合条件的记录,就不会删除,如果有多条符合条件的记录,自然也就一并删除了
insert 只会影响一条,哪怕是用缩略写法的 insert 语句插入了 100 条
看不出这与事务有什么关系
$result = mysql_query("update ……")if ($result !== false){ echo "exec success";}else{ echo "exec error:".mysql_error():}
如果你不放心 update ... set money=money-1 会真实执行的话
那么你是否需要再 select 一下,确认 money 减少了 1,而不是减少了 100 呢?
$result = mysql_query("update ……")
只有在 sql 指令是错误的情况下,才会返回 false
所以并不需要去试
如果你不放心 update ... set money=money-1 会真实执行的话
那么你是否需要再 select 一下,确认 money 减少了 1,而不是减少了 100 呢?
$result = mysql_query("update ……")
只有在 sql 指令是错误的情况下,才会返回 false
所以并不需要去试
如果你不放心 update ... set money=money-1 会真实执行的话
那么你是否需要再 select 一下,确认 money 减少了 1,而不是减少了 100 呢?
$result = mysql_query("update ……")
只有在 sql 指令是错误的情况下,才会返回 false
所以并不需要去试