ホームページ > バックエンド開発 > PHPチュートリアル > PHPはデータベースをバッチで更新しますが、メモリが不足していると表示され、修正できません。

PHPはデータベースをバッチで更新しますが、メモリが不足していると表示され、修正できません。

WBOY
リリース: 2016-06-23 13:29:44
オリジナル
950 人が閲覧しました

致命的なエラー: E:phpStudyWWWredisupdate.php の 12 行目で、許容メモリ サイズ 268435456 バイトが使い果たされました (36 バイトを割り当てようとしました)

$sql="select * from user_invite where invite=''";//构建查询语句$result_row=mysql_query($sql);if(!$result_row){die("could not to the database</br>".mysql_error());}$row=mysql_fetch_array($result_row,MYSQL_ASSOC);if($row){$arr=array();	while($row){		$arr[]=$row;		}		foreach($arr as $key=>$val) 		{  						$ids=$val['id']; 			//$sql="update user_invite set invite='' where invite!='' ";			$sqls="update user_invite set invite='".make_coupon_card()."', addtime='".time()."' where invite='' and id='".$ids."' ";			print_r($sqls);			//exit;			$result=mysql_query($sqls);//执行更新	//unset($value);	}	echo "已经批量生成完成";	}else{	echo "已经生成过了";		}
ログイン後にコピー


ディスカッションに返信 (解決策)

while($row){
....
}
これって無限ループじゃないですか?

while($row){
....
}
これは無限ループではないでしょうか?


初心者なのですが、改善方法を教えていただけませんか?アドバイスをいただければ幸いです

$sql="select * from user_invite where Invitation=''";//クエリステートメントを作成します
$result_row=mysql_query($sql);

if(!$result_row)
{
die(" データベースにアクセスできませんでした
".mysql_error())
}
$row=mysql_fetch_array($result_row,MYSQL_ASSOC);

if($row){
$arr=array() ;
while(! empty($row)){
$arr[]=$row;

foreach($arr as $key=>$val)
{
$ids=$val['id'];
//$sql ="update user_invite set Invitation='' where Invitation!='' ";
$sqls="update user_invite set Invitation='".make_coupon_card()."', addtime='".time() ."' where Invitation ='' and id='".$ids."' ";
print_r($sqls)
$result=mysql_query($sqls);// 更新を実行します
mysql_free_result($result) ;
}
echo "バッチ生成が完了しました";
unset($row);
}else{
echo "バッチ生成が完了しました";

終了タグを変更しましたアドレスを入力し、現在はエラーは報告されていませんが、取り出される ID は毎回同じです

他にはありません。 。 。

while($row as

初めて投稿させていただきます。 。 。 。沈まないでください。 。

rree

$sql="select * from user_invite where invite=''";//构建查询语句$result_row=mysql_query($sql);if(!$result_row){  die("could not to the database</br>".mysql_error());}while($row=mysql_fetch_array($result_row,MYSQL_ASSOC)){     $ids=$row['id'];      $sqls="update user_invite set invite='".make_coupon_card()."', addtime='".time()."' where invite='' and id='".$ids."' ";     $result=mysql_query($sqls);//执行更新}echo "已经批量生成完成";
ログイン後にコピー

ありがとう、兄弟、本当に感謝しています。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート