数据库服务

WBOY
풀어 주다: 2016-06-23 13:31:52
원래의
840명이 탐색했습니다.

<?php header("content-type:text/html;charset=utf-8");	 	//编码include("conn/conn.php");							//链接数据库if(isset($_POST['xiugai'])){		//判断有没有修改按钮	$user=$_POST['user'];	        //定义用户名变量	$pwd=$_POST['pwd'];				//原密码变量	$xpwd=$_POST['xpwd'];					//新密码变量	$section=$_POST['section'];			//部门名称变量	$name=$_POST['name'];				//真实姓名变量	$insert=mysql_query("update tb_login set pwd='$xpwd',section='$section',name='$name' where user='$user' and pwd='$pwd'",$conn);		//更新数据库语句	echo mysql_error();	if($insert){//判断是否执行	echo '<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />';		echo "<script>alert('?修改成功');window.location.href='index.php'</script>";			//修改成功	}	else{	echo '<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />';		echo "<script>alert('?修改失败');window.location.href='guanli.php'</script>";		//修改失败	}}?>
로그인 후 복사

这个是网页代码
<form action="guanli_ok.php" method="post" enctype="multipart/form-data" name="form2" id="form2">      <table width="527" height="282" border="0" cellpadding="0" cellspacing="0">        <tr>          <td width="194" height="46"><div align="left"><?php echo $_SESSION['user'];?> 用户信息修改</div></td>          <td width="333"><div align="left"></div></td>        </tr>         <tr>          <td height="46"><div align="right">用户名:</div></td>          <td><div align="left"><input type="text" name="user" readonly="readonly" value="<?php echo $_SESSION['user'];?>"/></div></td>        </tr>        <tr>          <td height="40"><div align="right">原密码:</div></td>          <td><div align="left"><input type="text" name="pwd" /></div></td>        </tr>        <tr>          <td height="30"><div align="right">新密码:</div></td>          <td><div align="left"><input type="text" name="xpwd" /></div></td>        </tr>        <tr>          <td height="30"><div align="right">确认密码:</div></td>          <td><div align="left"><input type="text" name"quren" /></div></td>        </tr>        <tr>          <td height="30"><div align="right">部门:</div></td>          <td><div align="left"><input type="text" name="section" /></div></td>        </tr>        <tr>          <td height="30"><div align="right">真实姓名:</div></td>          <td><div align="left"><input type="text" name="name" /></div></td>        </tr>        <tr>          <td height="30"> </td>          <td><input type="submit" name="xiugai" value="确认修改"/> </td>        </tr>      </table>    </form>
로그인 후 복사


问题是最后就算我原密码是输入错误的提示也是修改成功跳转到了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()函数来检查检测。
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!