在while循环期间插入破碎的PDO

时间:2014-05-30 23:23:33

标签: php mysql pdo

我正在尝试整理一个简单的php页面来监控我的服务器。它下载XML,在while循环中解析它,然后为每个结果插入一个新行。 video_servers表中有六条记录,SELECT部分​​工作正常,直到我尝试插入结果,然后它只循环一次。如果我取出try INSERT部分,它将循环执行六次打印var_dump。我对此缺少什么?插件工作正常一次,然后结束。

try {
    $query = $db->prepare("SELECT * FROM video_servers");
    $query->bindValue(':url', $url, PDO::PARAM_STR);  
    $query->bindValue(':title', $server, PDO::PARAM_STR); 
    $query->bindValue(':type', $type, PDO::PARAM_STR); 
    $query->execute();
}
catch (PDOException $e){
  printf("something broke");// logError($e->getMessage(), $query->queryString, __FILE__, __LINE__ );
   exit;
}


while($results = $query->fetch(PDO::FETCH_ASSOC)){
    $xmlfile = simplexml_load_file('http://lalalala.com/connectioncounts');
    $count = $xmlfile->ConnectionsCurrent;
    $server = $results['title'];
    $type = "active-connections";



    try {
    $query = $db->prepare("INSERT INTO dashboardserverstats (server, type, value) VALUES (:server, :type, :value)");
    $query->bindValue(':server', $server, PDO::PARAM_STR);  
    $query->bindValue(':type', $type, PDO::PARAM_STR); 
    $query->bindValue(':value', $count, PDO::PARAM_STR); 
    $query->execute();
    }
    catch (PDOException $e){
      echo 'ERROR: ' . $e->getMessage();
    }
var_dump($results);
}

1 个答案:

答案 0 :(得分:2)

在第二个查询中更改变量$ query的名称。你正在覆盖它。