php批次更新資料庫,但是顯示記憶體不足,改過也不行,求大神

來源:互聯網
上載者:User
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
".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 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
".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 "已經批量產生完成";

$sql="select * from user_invite where invite=''";//構建查詢語句$result_row=mysql_query($sql);if(!$result_row){  die("could not to the database
".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 "已經批量產生完成";


謝謝大哥,小弟真心萬分感謝。
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.