Rumah > pembangunan bahagian belakang > tutorial php > php批量更新数据库,但是显示内存不足,改过也不行,求大神

php批量更新数据库,但是显示内存不足,改过也不行,求大神

WBOY
Lepaskan: 2016-06-23 13:29:44
asal
952 orang telah melayarinya

Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 36 bytes) in E:\phpStudy\WWW\redis\update.php on line 12

$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 "已经生成过了";		}
Salin selepas log masuk


回复讨论(解决方案)

while($row){
....
}
你这不是死循环吗?

while($row){
....
}
你这不是死循环吗?


在下新手,请问大神怎么改进啊?还望不惜赐教

$sql="select * from user_invite where invite=''";//构建查询语句
$result_row=mysql_query($sql);

if(!$result_row)
{
die("could not to the database
".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 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);//执行更新
//mysql_free_result($result);
}
echo "已经批量生成完成";
}
unset($row);
}else{
echo "已经生成过了";
}

改了下结束标签地址,现在是不报错了,但是每次取出来的id都是一样的

没人吗。。。

while($row as $k) 试试

while($row as $k) 试试


试过了报错呢。

小弟第一次发帖啊。。。。求别沉。。

$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 "已经批量生成完成";
Salin selepas log masuk
Salin selepas log masuk

$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 "已经批量生成完成";
Salin selepas log masuk
Salin selepas log masuk


谢谢大哥,小弟真心万分感谢。
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan