我寫了一個生成許多「secret_key」的php代碼。代碼是使用for循環更新每個循環的不同記錄
<?php
include("/home3/kintest2/public_html/include/config.local.php");
$connect= mysql_connect ($DBHOST,$DBUSER,$DBPASSWORD);
$select= mysql_select_db($DBNAME, $connect);
$test2= "SELECT * FROM `video` WHERE `type` LIKE 'private'";
$results= mysql_query($test2, $connect);
$num_rows = mysql_num_rows($results);
for ($count=$num_rows; $count>=0; $count-- && $secret_key= uniqid().mt_rand(1,9))
{
mysql_query("UPDATE video SET secret_key= '$secret_key' WHERE type='private'",$connect);
echo " count is {$count} key is {$secret_key}</br>";
}
?>
我只有這個代碼有一個問題。所有滿足查詢條件的mysql記錄都被賦予相同的密鑰。但我希望將不同的鍵分配給每個記錄。 mysql_query("UPDATE video SET secret_key= '$secret_key' WHERE type='private'",$connect);
這是回聲輸出
- 計數是13鍵
- 計數是12個重點是50090128c89bb7
- 計數是11鍵50090128c91153
- 計數是10鍵是50090128c986c4
- 計數是9鍵是50090128c9f9b5
- 計數是8鍵是50090128ca7387
- ....
總共有13條記錄。
問題是,當我運行下面的代碼時,它使所有記錄具有相同的密鑰。 'mysql_query(「UPDATE video SET secret_key ='$ secret_key'WHERE type ='private'」,$ connect);' – 2012-07-20 07:17:24
我修改了上面的代碼...... – Frosti 2012-07-20 07:25:22
它給了我一些這方面的錯誤。 '$ dbCmd =「UPDATE video SET secret_key ='$ secret_key'WHERE id =」{$ row ['id']}「;解析錯誤:語法錯誤,意外'{' – 2012-07-20 07:30:51