sql查询问题

来源:1-4 用户登录

qq_演艺人生_0

2017-06-02 15:11:11

http://climg.mukewang.com/59310da80001ff7607090217.jpg

像老师上课写的sql语句一样,我的却false。在www.phpmyadmin.com上测试没问题,负责过来就false。

http://climg.mukewang.com/59310d7600011d1302920182.jpg



然后我把sql语句改成下面才行,但是我想$result['password']就不行了。

是不是PHP版本太低?

还是什么原因?

http://climg.mukewang.com/59310d76000158f807960240.jpg

http://climg.mukewang.com/59310db80001b39902950205.jpg

mysql_query(); 没有问题,但是 到mysql_fetch_assoc(),就false了http://climg.mukewang.com/59311137000115b707360246.jpg

http://climg.mukewang.com/593111370001581a03280198.jpg


写回答

3回答

俺就是兔子

2017-06-19

版本过低导致的。请将PHP7 升级到PHP5 谢谢。mysql是php5就废弃了但是能用 7就不能用 你或者使用mysqli
 include once'./lib/fun.php';

//连接数据库
$conn=msqli_Init('127.0.0.1', 'root', '', 'imooc','utf8');

//数据库连接错误信息
if ($conn) {
   echo '数据库连接成功';
}else{
   echo '数据库连接失败'.mysqli_error($conn);die;
}

//在数据库中查找信息

$sql ="SELECT COUNT(`id`) AS totl FROM `imooc_user` WHERE `username`={$username}";
//返回查询数据
$query=mysqli_query($conn,$sql,MYSQLI_STORE_RESULT);
//将查询数据转换为数组
$assoc=mysqli_fetch_assoc($query);

//注册功能
//用户名已存在
if(isset($assoc['totl'])&&$assoc['totl']>0){
   echo '用户名已存在';
}else {
   //密码MD5加密
   $pawmd5 = paw_Md5($password);
   //注销变量
   unset($sql, $query, $assoc);
   //插入数据库
   $sql = "INSERT `imooc_user`(`username`,`password`,`create_time`) VALUES('{$username}','{$pawmd5}','{$_SERVER['REQUEST_TIME']}')";
   $query = mysqli_query($conn, $sql);
   if ($query) {
       //插入成功获取id
       $mysqlId = mysqli_insert_id($conn);
       echo sprintf('恭喜您,注册成功,用户名为:%s,ID为:%s', $username, $mysqlId);
   } else {
       echo mysqli_error($conn);
       exit;
   }
}

需要先导入php文件

   function  msqli_Init($host,$username,$password,$dbname,$charset){
       $conn=mysqli_connect($host,$username,$password,$dbname);
       //连接成功
       if(!$conn){
           return false;
       }
       //设置字符集
       mysqli_set_charset($conn,$charset);

       //返回连接
       return $conn;

}

0

irise

2017-06-02

同学,您好!mysql_fetch_assoc() 函数是从结果集中取得一行作为关联数组,返回根据从结果集取得的行生成的关联数组,如果没有更多行,则返回 false。小慕建议您可以把这个sql语句复制下来,然后到phpmyadmin上运行一下这个sql,看按照这个条件是否能查出来数据。如果没有查出数据的话,mysql_fetch_assoc()如果没有更多行,则返回 false。

如果解决了您的问题,请采纳!祝学习愉快!

0

qq_演艺人生_0

提问者

2017-06-02

mysql_query(); 没有问题,但是 到mysql_fetch_assoc(),就false了

http://climg.mukewang.com/593110b9000115b707360246.jpg

http://climg.mukewang.com/593110b80001581a03280198.jpg


0

0 学习 · 2569 问题

查看课程