2016-05-14 133 views
-1

我有以下php脚本查询mysql数据库以发送消息。我想发送每1000行数据库表循环中的“消息”变量。下面是代码,这有什么问题?Php查询for循环不能按预期工作

<?php 
    $num = $con->query("SELECT gcm_regid from gcm_users")->rowCount(); 
    $current_num = 0; 
    $message = $_POST["message"]; 
    for ($i = 0; $i < $num/999; $i++) { 
     $query = $con->query("SELECT gcm_regid from gcm_users LIMIT $current_num, 999"); 
     foreach ($query as $data) { 
      $row[] = $data["gcm_regid"]; 
     } 
     $pushStatus = send_notification($con, $row, $message); 
     $current_num += 999; 
    } 
?> 

https://jsfiddle.net/yLff8n5d/

+0

错误消息是什么? – Fil

+0

那么上面的代码是怎么回事? –

+0

错误是循环不会执行每1000行,因为我想 – qwertyg

回答

1

检查这个

<?php 
    $num = $con->query("SELECT gcm_regid from gcm_users")->rowCount(); 
    $current_num = 0; 
    $message = $_POST["message"]; 
    for ($i = 0; $i < $num/999; $i++) { 
     $query = $con->query("SELECT gcm_regid from gcm_users LIMIT $current_num, 999"); 
     $row = array() 
     while($result = $query->fetch_assoc()){ 
      $row[] = $result['gcm_regid'] 
     } 
     $pushStatus = send_notification($con, $row, $message); 
     $current_num += 999; 
    } 
?> 
+0

所以我将不得不像下面的小提琴例子那样整合一个while循环?你可以请一个快速检查吗? http://jsfiddle.net/yLff8n5d/1 – qwertyg

+0

我评论以下 –

+0

致命错误:调用未定义的方法PDOStatement :: fetch_assoc()。我也试过fetch_assoc(PDO :: FETCH_ASSOC),同样的错误。 – qwertyg