2017-08-18 20 views
0

我有一个问题,因为我提到了这个标题。 我想在我的数据库中添加名为tbl_users。 我的表列是user_name,密码ans salt。 我有一个哈希类。我无法添加数据库中来自salt方法的入站数据在php

class Hash { 
    public static function create($string, $salt = '') { 
     return hash('haval256,4',$string.$salt); 
    } 

    public static function salt($length = 32) { 
     if(function_exists('random_bytes')) 
      return random_bytes($length); 
     else 
      return mcrypt_create_iv($length); 
    } 

    public static function unique() { 
     return self::create(uniqid()); 
    } 
} 

我正在通过Hash :: salt为salt列创建$ salt变量。 但是,当我在salt列中添加$ salt变量值时,它不能添加此值。

$salt = Hash::salt(); 
$pass = Hash::create('123456',$salt); 
$query = Connection::getInstance()->getConnection("INSERT INTO tbl_user SET user_name='BlaBlaBla' password='$pass', salt='$salt'"); 

但是,我可以添加随机值('2345234',fgsdffs'那样)。 我无法解决这个问题。我在等你的帮助。顺便说一句,我知道我的英语很弱。对不起。

回答

0

您在密码=之前缺少逗号。

注意我可以通过设置我的密码为'xx'真的让你感到不安; drop table tbl_user;'

+0

谢谢詹姆斯安德森。但是当我在这里写信时,我想起了一个逗号。通常在密码前有一个逗号。此外,我在mysqli中使用了准备好的语句。 –