2016-02-28 85 views
-2

我的腳本從文件text.txt中讀取電子郵件,我想爲每個電子郵件在mySQL數據庫中記錄電子郵件和唯一隨機代碼。所有作品都是正確的,但每次我都得到相同的「隨機碼」。刷新隨機「令牌」

I get this: 
[email protected] vsdggd 
[email protected] vsdggd 
[email protected] vsdggd 
I want to get: 
[email protected] bsgfdg 
[email protected] jhngfv 
[email protected] sdfasd 

代碼:

<?php 
function generatePassword($length = 6){ 
    $chars = 'abcdefhiknrstyz'; 
    $numChars = strlen($chars); 
    $string = ''; 
    for ($i = 0; $i < $length; $i++) { 
    $string .= substr($chars, rand(1, $numChars) - 1, 1); 
    } 
    return $string; 
} 


include('../connect.php'); 
$query = 'insert into cc (email,token) values ("%s","'. generatePassword(6) .'");'; 

$lines = file('text.txt');//your filename 
for($i=0; $i < count($lines); $i++){ 
mysql_query(sprintf($query, mysql_real_escape_string($lines[$i]))) or die(mysql_error() . '<br><br>' . '<b>Query:</b> ' . $query); 
} 
?> 
+0

請更正您的問題!解釋你的意思是什麼,最重要的是你想要做什麼。 –

回答

1

你只調用generatePassword()一次,來修復你的代碼,因爲它是你想要的:

<?php 
function generatePassword($length = 6){ 
    $chars = 'abcdefhiknrstyz'; 
    $numChars = strlen($chars); 
    $string = ''; 
    for ($i = 0; $i < $length; $i++) { 
    $string .= substr($chars, rand(1, $numChars) - 1, 1); 
    } 
    return $string; 
} 


include('../connect.php'); 
$query = 'insert into cc (email,token) values ("%s","%s");'; 

$lines = file('text.txt');//your filename 
for($i=0; $i < count($lines); $i++){ 
    mysql_query(sprintf($query, mysql_real_escape_string($lines[$i]), generatePassword(6))) or die(mysql_error() . '<br><br>' . '<b>Query:</b> ' . $query); 
} 
?> 

這樣generatePassword()被調用爲每一行。

此外,你應該真的使用較新的mysqli或理想的PDO作爲舊的mysql已棄用,並已從PHP7中刪除。