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>";不行啊