数据库服务
程序员文章站
2022-05-04 13:37:32
...
alert('?修改成功');window.location.href='index.php'"; //修改成功 } else{ echo ''; echo ""; //修改失败 }}?>
这个是网页代码
问题是最后就算我原密码是输入错误的提示也是修改成功跳转到了index.php页面 但是数据库没修改 原密码正确就一切正常
回复讨论(解决方案)
if($insert){//判断是否执行
这个判断是错误的
你只是检查了 update 命令是否有错,并没有检查到修改是否成功
mysql_affected_rows() 大于 0 才表示修改成功
没有认真看手册吧。
http://www.w3school.com.cn/php/func_mysql_query.asp
返回值
mysql_query() 仅对 SELECT,SHOW,EXPLAIN 或 DESCRIBE 语句返回一个资源标识符,如果查询执行不正确则返回 FALSE。
对于其它类型的 SQL 语句,mysql_query() 在执行成功时返回 TRUE,出错时返回 FALSE。
非 FALSE 的返回值意味着查询是合法的并能够被服务器执行。这并不说明任何有关影响到的或返回的行数。很有可能一条查询执行成功了但并未影响到或并未返回任何行。
检查是否影响到了行数,应该用mysql_affected_rows()函数来检查检测。