$sql="select * from adminstrator where admin_name='".$this->name."'"
$result=mysql_query($sql);
$info=mysql_fetch_assoc($result);
这是我的代码,他报这里的错误,哪位好心人能帮忙解释一下呗?本人刚入门,对于这个函数什么的还知道些,但不会查错
//到数据库去验证.mysql扩展库, mysqli扩展库
//1.得到连接
$conn=mysql_connect("localhost","root","123");
if(!$conn){
die("连接失败".mysql_errno());
}
//设置访问数据库的编码
mysql_query("set names utf8",$conn) or die(mysql_errno());
//选择数据库
mysql_select_db("empmanage",$conn) or die(mysql_errno());
//发送sql语句,验证
//防止sql注入攻击
//变化验证逻辑 mysqli 预处理
$sql="select password,name from admin where id=$id";
//1.通过输入的id来获取数据库的密码,然后再和输入的密码比对.
$res=mysql_query($sql,$conn);
if($row=mysql_fetch_assoc($res)){
//查询到.
//2.取出数据库密码
if($row['password']==md5($password)){
//说明合法
//取出用户名字
$name=$row['name'];
header("Location: empManage.php?name=$name");
exit();
}
}
header("Location: login.php?errno=1");
exit();
//关闭资源
mysql_free_result($res);
mysql_close($conn);
你默认的主机是LOCALHOST吗?你还没有连接数据库呢。报的错误时什么?仔细看看,希望能帮到你。
//1.得到连接
$conn=mysql_connect("localhost","root","123");
if(!$conn){
die("连接失败".mysql_errno());
}
//设置访问数据库的编码
mysql_query("set names utf8",$conn) or die(mysql_errno());
//选择数据库
mysql_select_db("empmanage",$conn) or die(mysql_errno());
//发送sql语句,验证
//防止sql注入攻击
//变化验证逻辑 mysqli 预处理
$sql="select password,name from admin where id=$id";
//1.通过输入的id来获取数据库的密码,然后再和输入的密码比对.
$res=mysql_query($sql,$conn);
if($row=mysql_fetch_assoc($res)){
//查询到.
//2.取出数据库密码
if($row['password']==md5($password)){
//说明合法
//取出用户名字
$name=$row['name'];
header("Location: empManage.php?name=$name");
exit();
}
}
header("Location: login.php?errno=1");
exit();
//关闭资源
mysql_free_result($res);
mysql_close($conn);
你默认的主机是LOCALHOST吗?你还没有连接数据库呢。报的错误时什么?仔细看看,希望能帮到你。
温馨提示:答案为网友推荐,仅供参考
第1个回答 推荐于2017-12-16
mysql_fetch_assoc 函数是从结果集中取得一行作为关联数组请注意是关联数组 如果是要索引使用mysql_fetch_array()函数
你这里具体是什么错误还不清楚 把具体错误贴出来看看!
你自己先排查下错误 先在$result=mysql_query($sql);
后print_r($result); 看看是不是资源类型的值 如果是就换mysql_fetch_array()函数试一试 如果不是的话很明显就是你sql语句有问题啦!本回答被网友采纳
你这里具体是什么错误还不清楚 把具体错误贴出来看看!
你自己先排查下错误 先在$result=mysql_query($sql);
后print_r($result); 看看是不是资源类型的值 如果是就换mysql_fetch_array()函数试一试 如果不是的话很明显就是你sql语句有问题啦!本回答被网友采纳
第2个回答 2013-06-05
去检测一下了:
if($result){ echo '表示语句执行正确';}else{ echo '表示语句有问题,执行失败';}
然后注意mysql_fetch_assoc() 返回的是一个索引数组,如果上面没问题再 print_r($info); 看有没有数据,,,建议获取数据信息时候还是用: mysql_fetch_array() ;;是索引+数字形式的;(个人观点)
if($result){ echo '表示语句执行正确';}else{ echo '表示语句有问题,执行失败';}
然后注意mysql_fetch_assoc() 返回的是一个索引数组,如果上面没问题再 print_r($info); 看有没有数据,,,建议获取数据信息时候还是用: mysql_fetch_array() ;;是索引+数字形式的;(个人观点)
第3个回答 2013-06-05
mysql_fetch_assoc换成mysql_fetch_array
$sql="select * from adminstrator where admin_name='$this->name'"可以改成这样试试
$sql="select * from adminstrator where admin_name='$this->name'"可以改成这样试试
第4个回答 2013-06-05
贴下错误代码吧,要不然无法判断。