2017-08-18 42 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中使用了準備好的語句。 –