アップグレードスクリプトを作成しようとしていますが、どこかでエラーが発生し、whileループが終了しないようです。
私がやろうとしているのは、アップグレードコードの結果を使用してデータベースフィールドを設定することです。そのため、2つのwhileループがあります。最初のループはすべてのuser_idを実行し、2番目のwhileループは、各ユーザーが入力したすべてのプロファイルフィールドのパーセンテージを計算します。
正確なuser_idを指定して、最初のwhileループなしでアップグレードコードを実行すると、正常に機能するため、これは論理的なエラーだと思います。または、一部のuser_idがもう存在しないことが問題である可能性がありますか?
コードを見てください:
$count_userid = 1;
while($count_userid < 10000)
{
// profile percentage
$resultpercentage = mysql_query("SELECT profilevalue_1, profilevalue_2, profilevalue_3 FROM table_profilevalues WHERE profilevalue_user_id = '$count_userid' LIMIT 1");
while ($row = mysql_fetch_row($resultpercentage)) {
$empty_count = 0;
$count = count($row);
for ($i = 0; $i < $count; $i++)
if ($row[$i] === '' || $row[$i] === '-1' || $row[$i] === 'NULL')
$empty_count++;
$profile_percent_user = ((int) (100 * (1 - $empty_count / ($count - 1))));
// SAVE PROFILE PERCENTAGE
$profile_percentage_query = "UPDATE table_users SET user_profilepercentage='$profile_percent_user' WHERE user_id='$count_userid' LIMIT 1";
$database->database_query($profile_percentage_query);
}
$count_userid++;
}
誰かがここで問題を見ますか?
よろしくお願いします