数据库服务

WBOY
Libérer: 2016-06-23 13:31:52
original
892 Les gens l'ont consulté

<?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>";		//修改失败	}}?>
Copier après la connexion

这个是网页代码
<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>
Copier après la connexion


问题是最后就算我原密码是输入错误的提示也是修改成功跳转到了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()函数来检查检测。
Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal