-4
我有一個腳本,在MySQL中的用戶數據庫中將重名重命名爲「$ name2」,但由於某種原因,我得到錯誤「未定義索引」,每個重複的用戶名和「foreach 「循環沒有被使用。該代碼是下面的:PHP未定義的索引與MySQL結果數組
$result = mysql_query("select name, count(*) cnt from users group by name having cnt > 1 and name!=''");
$rowsCnt = array();
while($row = mysql_fetch_assoc($result)){
$rows[] = $row;
$rowsCnt[ $row['name'] ]++;
}
foreach($rows as $index => $row) {
mysql_query("UPDATE users SET duplicate=1, name = '".mysql_real_escape_string($row['name'])."2' WHERE name = '".mysql_real_escape_string($row['name'])."'"$
}
爲什麼你有一個'while'循環,然後是一個'foreach'循環?它看起來不像你使用'$ rowsCnt' – Machavity
你不認爲完整的錯誤信息可能在這裏有用嗎? – Phil
從[mysql_query](http://php.net/manual/en/function.mysql-query.php)上的PHP手冊:此擴展從PHP 5.5.0開始已被棄用,並且將來會被刪除。相反,應該使用MySQLi或PDO_MySQL擴展。 – maiorano84