为什么我写的php代码不执行sql语句呢,请大侠指点。
<?php$username=$_POST['username'];代码如下:$password=$_POST['password'];$conn=mysql_conne...
<?php$username=$_POST['username']; 代码如下:
$password=$_POST['password']; $conn=mysql_connect ("localhost","root","2295371c."); if ( !$conn) { die ("连接失败!".mysql_errno()); } mysql_query ("set names utf8",$conn) or die ("编码格式错误!".mysql_errno()); mysql_select_db("demodb",$conn) or die ("连接数据库错误!".mysql_errno()); $sql="select password from users where username=$username"; $res=mysql_query($sql,$conn); if ($row=mysql_fetch_assoc($res)){ if ($row=['password']==md5($password)){ header ("location:123.php"); exit(); } }// header ("location: fail.php"); exit(); mysql_free_result($res); mysql_close($conn);?>
数据库表中的内容:
var_dump($sql);在页面中显示的是:string(49) "select password from users where username=changgy"
var_dump($res);在页面中显示的是:bool(false) 为什么会这样呢?PHP怎么不执行sql语句呢?请大侠指点。 展开
$password=$_POST['password']; $conn=mysql_connect ("localhost","root","2295371c."); if ( !$conn) { die ("连接失败!".mysql_errno()); } mysql_query ("set names utf8",$conn) or die ("编码格式错误!".mysql_errno()); mysql_select_db("demodb",$conn) or die ("连接数据库错误!".mysql_errno()); $sql="select password from users where username=$username"; $res=mysql_query($sql,$conn); if ($row=mysql_fetch_assoc($res)){ if ($row=['password']==md5($password)){ header ("location:123.php"); exit(); } }// header ("location: fail.php"); exit(); mysql_free_result($res); mysql_close($conn);?>
数据库表中的内容:
var_dump($sql);在页面中显示的是:string(49) "select password from users where username=changgy"
var_dump($res);在页面中显示的是:bool(false) 为什么会这样呢?PHP怎么不执行sql语句呢?请大侠指点。 展开
展开全部
程序执行了, username=changgy 要加上引号 表示数据类型是字符串,不加引号的的话,这条查询的sql是错误的, $res是接收不到返回值的,所以会返回一个false,加个引号就好了
追问
加上引号后,还是跳转到 fail.php页面,没有跳转到123.php页面。我感觉不是这里的问题。
追答
if ($row=['password']==md5($password)){
header ("location:123.php");
exit();
}
你这里的$row=['password']==md5($password) 是什么意思? 应该是$row['password']吧
展开全部
$sql="select password from users where username='$username'";
$username 是个字符串 ,要单引号引起来。
望采纳 Thx
更多追问追答
追问
加上引号后,还是没成功。var_dump($sql)后页面出现:string(51) "select password from users where username='changgy'"
var_dump($res)后页面出现: resource(4) of type (mysql result)。
追答
var_dump($res) 是对象资源,
$res=mysql_query($sql,$conn) or die(mysql_error());
试试
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
$username 要加上单引号
追问
还是不可以。这里应该没问题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询