为什么我$conn = new mysqli('localhost','root','123456','shopping');
  $pass = sha1($password);
  $query = "insert into users (name,password,sex,age,email,address,phone_num)
values('".$name."','".$pass."','".$email."','".$sex."','".$age."','".$address."','".$phone."')";
  $result = $conn->query($query);存入数据库的与$pass = sha1($password);
echo $pass;打印出来的数据不一样。求解。。各种引号全改过了。。
而且我数据库长度设定的是char(40)应该没问题,求解。。

解决方案 »

  1.   

    把sql语句打出来,看与接收时的是否相同。
      

  2.   

    打印出来的和我echo的一样。。那为什么和数据库里德不一样难道是字符问题。。应该用哪个字符?
      

  3.   

    试试用 varchar 变长类型。
      

  4.   

    $pass=“”;//初始化
    $pass = sha1($password);
      

  5.   

    知道了。。我前面$_POST['password']的时候password的d漏了。。谢谢