求高手看下这段代码哪里不对~邮箱输入错误时对的~但是输入正确就跳到我有毛病那块里
<?phprequire'link.php';$oldmal=$_POST['oldmal'];$newmal=$_POST['newmal'];if(!empty($_...
<?php
require 'link.php';
$oldmal = $_POST['oldmal'];
$newmal = $_POST['newmal'];
if (!empty($_COOKIE['name'])){
$name = $_COOKIE['name'];
$sql = "select * from users where username='$name'";
$res = mysql_query($sql,$con);
$row = mysql_fetch_assoc($res);
if ($row['email'] == $oldmal){
$sql = "update users set email='$newmal' where username='$name'";
$res1 = mysql_query($sql,$con);
if ($res1){
echo"<script>alert('成功');history.go(-1);</script>";
}else{
echo "我有毛病啦!!";
}
}
if ($row['email'] != $oldmal){
echo"<script>alert('失败');history.go(-1);</script>";
}
}
mysql_free_result($res);
mysql_free_result($res1);
mysql_close($con);
我修改密码也是这么写的~但是修改密码可以使用~这个修改邮箱就老报错~还有怎么让用邮箱登录显示的还是用户名~或者加我扣扣5 0 2 2 4 9 3 3 8~帮我解决啦肯定加分~
<div class="body-1-7">旧邮箱:<input type="text" name="oldmal"/></div>
<div class="body-1-7">新邮箱:<input type="text" name="newmal"/></div>
报的错误是
我有毛病啦!!
Warning: mysql_free_result() expects parameter 1 to be resource, boolean given in D:\WWW\anjuke\updatemalProcess.php on line 29 展开
require 'link.php';
$oldmal = $_POST['oldmal'];
$newmal = $_POST['newmal'];
if (!empty($_COOKIE['name'])){
$name = $_COOKIE['name'];
$sql = "select * from users where username='$name'";
$res = mysql_query($sql,$con);
$row = mysql_fetch_assoc($res);
if ($row['email'] == $oldmal){
$sql = "update users set email='$newmal' where username='$name'";
$res1 = mysql_query($sql,$con);
if ($res1){
echo"<script>alert('成功');history.go(-1);</script>";
}else{
echo "我有毛病啦!!";
}
}
if ($row['email'] != $oldmal){
echo"<script>alert('失败');history.go(-1);</script>";
}
}
mysql_free_result($res);
mysql_free_result($res1);
mysql_close($con);
我修改密码也是这么写的~但是修改密码可以使用~这个修改邮箱就老报错~还有怎么让用邮箱登录显示的还是用户名~或者加我扣扣5 0 2 2 4 9 3 3 8~帮我解决啦肯定加分~
<div class="body-1-7">旧邮箱:<input type="text" name="oldmal"/></div>
<div class="body-1-7">新邮箱:<input type="text" name="newmal"/></div>
报的错误是
我有毛病啦!!
Warning: mysql_free_result() expects parameter 1 to be resource, boolean given in D:\WWW\anjuke\updatemalProcess.php on line 29 展开
1个回答
展开全部
看文档,mysql_query执行update时,返回bool,成功true,失败false
mysql_free_result是用来释放结果集的
把bool传给它,当然报错啦
update语句的执行结果不需要释放
解决方法:注释或删掉29行
mysql_free_result是用来释放结果集的
把bool传给它,当然报错啦
update语句的执行结果不需要释放
解决方法:注释或删掉29行
追问
这我早试过啦~没用~我删掉的
就是忽然成功!~忽然又失败~不知道怎么回事
比如邮箱是11,我如果修改成111或1111只要是全部1的就成功~如果换成别的数字就跳到我有毛病啦
追答
把mysql_error()贴出来看看啊
难不成表字段设成int了??
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询