• 技术文章 >后端开发 >php教程

    数据库查询中一个百思不得其解的有关问题,有详细说明

    2016-06-13 13:14:43原创308
    数据库查询中一个百思不得其解的问题,有详细说明!
    源代码:
    PHP code
    
    $sql="select * from tb_user where nicheng='".$uname."'";
    $re=mysql_query($sql,$conn);
    //echo $sql;
    //exit();
    $info=mysql_fetch_array($re);
    if($info==true)
     {
       echo "";
       exit;
     }
    

    测试时总是出错,并且提示:
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result (错误在“$info=mysql_fetch_array($re);”

    sql语句没有错误,利用echo输出在mysql执行过!同是也发现,当我把条件设置成字段的值为数字的字段时(如:“where id='".$uname."'";”或者“where id='".$uname."'";”)执行正常!当条件字段的值为中文时(如nicheng,xingming,xingbie),执行就报以上错误!
    所以我估计是编码问题,但是我用echo输出看了,中文显示正常!数据库中的中文也是显示正常!

    数据库是:
    id xingming xingbie buji ruxue banji mima ip shijian nicheng
    1 张三 男 初中 2011 05 2134 NULL NULL 小三


    结构为:
    id int(11) 否 auto_increment
    xingming varchar(8) utf8_bin 是 NULL
    xingbie varchar(2) gb2312_chinese_ci 是 NULL
    buji varchar(4) gb2312_chinese_ci 是 NULL
    ruxue varchar(4) gb2312_chinese_ci 是 NULL
    banji varchar(2) gb2312_chinese_ci 是 NULL
    mima varchar(50) gb2312_chinese_ci 是 NULL
    ip varchar(15) gb2312_chinese_ci 是 NULL
    shijian datetime 是 NULL
    nicheng varchar(25) utf8_bin 否


    ------解决方案--------------------
    能echo看看$uname值是什么么?
    ------解决方案--------------------
    页面编码是什么?
    ------解决方案--------------------
    楼主是要进行判断昵称的重复性吧?
    换成这样试试呢

    $sql="select * from tb_user where nicheng='".$uname."'";
    $result=mysql_query($sql);
    if(mysql_num_rows($result)>0){
    echo "昵称已经存在";
    }
    else {
    //进行插入数据的操作
    }

    如果你觉得是编码问题,你看看链接数据库那有没有这样类似的语句
    mysql_query('set names utf8');
    ------解决方案--------------------
    $re=mysql_query($sql,$conn) or die(mysql_error()); //这样报什么错
    ------解决方案--------------------
    你数据库用的什么编码?
    加上这句试试
    mysql_set_charset("数据库所用编码编码”);
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:nbsp quot mysql varchar NULL
    上一篇: php没法使用localhost连接mysql服务器 下一篇: php里面如何定义方法 使得每个前台页面都能调用到
    PHP编程就业班

    相关文章推荐

    • 大侠一个Smarty的有关问题• 文件上传,该怎么处理• Video-03 No.2 PHP根本语法 • PHP集成环境推荐解决思路 • PHP是不是没有CACHE?解决方案

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网