当前位置:编程学习 > php >>

php更新错误。为什么原密码错误不返回false?

<?php session_start();?> <?php $link=mysql_connect("localhost","root","root"); mysql_select_db("db_finance",$link); mysql_query("set names gb2312"); $oldpwd=md5($_POST['txt_oldpassword']); $pwd=md5($_POST['txt_pwd']); $user=$_SESSION[user]; $sql=mysql_query("update tb_user set password='$pwd' where user='$user' and password='$oldpwd'",$link); if($sql) { echo"<script>alert('修改密码成功!!!');window.location.href='update_mima.php';</script>"; } else { echo"<script>alert('修改密码失败!!!');history.back();</script>"; } ?>
答案:mysql_query的执行结果是返回数据集

你查询老密码,要么是返回空,要么就是有数据集。

使用update 后面要马上接着一个mysql_affected_rows();来确认是否执行成功

$in_id=mysql_affected_rows(); //返回受影响的记录数,失败为-1,0为保持数据不变,>0为成功更新的条数

			 if($in_id>-1){
			    echo"<script>alert('修改密码成功!!!');
			 }else{
		          echo"<script>alert('修改密码失败!!!');
			 }
其他:你的这些代码只要更新语句执行不出错 那就不会返回false 

上一个:本人新手求解,PHP除法的实现
下一个:php输出一个表格在表格里的数值嵌套超链接: echo "<td <a href="index.php"> '.$d .'</a></td>";不行啊

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,