2016-01-24 32 views
0

我在PHP install.php了一個問題 無法使用類型MysqlResultSet 的對象,我不知道爲什麼我的代碼不工作無法使用類型MysqlResultSet的對象

,這是我的代碼

$this->provider->executeQuery('INSERT INTO perfect SET type="kings", name="%s", email="%s", points="%s", p_date="%s"', 
            array($get_players['name'], $get_players['email'], 0, date('Y.m.d')) 
    ); 

有什麼想法?

+0

完整的代碼嗎? –

+0

已發佈一個答案 –

回答

0

完整的代碼

public function _isperfect() 
{ 
    // attackers 
    $count_attackers = 0; 
    $attackers_points = 0; 
    $attackers = $this->provider->fetchResultSet("SELECT points FROM perfect WHERE type='attackers' ORDER BY points DESC LIMIT 3"); 
    while ($attackers->next()) 
    { 
     $attackers_points = $attackers->row['points']; 
     $count_attackers++; 
    } 

    if($count_attackers < 3) 
    { 
     $attackers_points = 0; 
    } 

    $get_players = $this->provider->fetchResultSet('SELECT name, email, attack_points FROM p_players WHERE attack_points > %s', array($attackers_points)); 
    while ($get_players->next()) 
    { 
     $get_att = $this->provider->fetchRow("SELECT points FROM perfect WHERE type='attackers' && email='". $get_players->row['email'] ."'"); 
     if($get_att != NULL && $get_att['points'] < $get_players->row['attack_points']) 
     { 
      $this->provider->executeQuery('DELETE FROM perfect WHERE type="attackers" && email="'. $get_players->row['email'] .'"'); 
     } 
     if($get_att['points'] < $get_players->row['attack_points'] || $get_att == null) 
     { 
      $this->provider->executeQuery('INSERT INTO perfect SET type="attackers", name="%s", email="%s", points="%s", p_date="%s"', 
              array($get_players->row['name'], $get_players->row['email'], $get_players->row['attack_points'], date('Y.m.d')) 
      ); 

     } 
    } 


    $att = 0; 
    $attack = $this->provider->fetchResultSet("SELECT points FROM perfect WHERE type='attackers' ORDER BY points DESC LIMIT 3"); 
    while ($attack->next()) 
    { 
     $att = $attack->row['points']; 
    } 
    $this->provider->executeQuery('DELETE FROM perfect WHERE points < %s && type="attackers"', array($att)); 

    // end attackers 


    // defenders 
    $count_defenders = 0; 
    $defenders_points = 0; 
    $defenders = $this->provider->fetchResultSet("SELECT points FROM perfect WHERE type='defenders' ORDER BY points DESC LIMIT 3"); 
    while ($defenders->next()) 
    { 
     $defenders_points = $defenders->row['points']; 
     $defenders_points++; 
    } 

    if($count_defenders < 3) 
    { 
     $defenders_points = 0; 
    } 

    $get_players = $this->provider->fetchResultSet('SELECT name, email, defense_points FROM p_players WHERE defense_points > %s', array($defenders_points)); 
    while ($get_players->next()) 
    { 
     $get_def = $this->provider->fetchRow("SELECT points FROM perfect WHERE type='defenders' && email='". $get_players->row['email'] ."'"); 
     if($get_def != NULL && $get_def['points'] < $get_players->row['defense_points']) 
     { 
      $this->provider->executeQuery('DELETE FROM perfect WHERE type="defenders" && email="'. $get_players->row['email'] .'"'); 
     } 
     if($get_def['points'] < $get_players->row['defense_points'] || $get_def == null) 
     { 
      $this->provider->executeQuery('INSERT INTO perfect SET type="defenders", name="%s", email="%s", points="%s", p_date="%s"', 
              array($get_players->row['name'], $get_players->row['email'], $get_players->row['defense_points'], date('Y.m.d')) 
      ); 
     } 
    } 


    $def = 0; 
    $defend = $this->provider->fetchResultSet("SELECT points FROM perfect WHERE type='defenders' ORDER BY points DESC LIMIT 3"); 
    while ($defend->next()) 
    { 
     $def = $defend->row['points']; 
    } 
    $this->provider->executeQuery('DELETE FROM perfect WHERE points < %s && type="defenders"', array($def)); 

    // end defenders 


    // empires 
    $count_empires = 0; 
    $empires_points = 0; 
    $empires = $this->provider->fetchResultSet("SELECT points FROM perfect WHERE type='empires' ORDER BY points DESC LIMIT 3"); 
    while ($empires->next()) 
    { 
     $empires_points = $empires->row['points']; 
     $count_empires++; 
    } 

    if($count_empires < 3) 
    { 
     $empires_points = 0; 
    } 

    $get_players = $this->provider->fetchResultSet('SELECT name, email, total_people_count FROM p_players WHERE total_people_count > %s', array($empires_points)); 
    while ($get_players->next()) 
    { 
     $get_emp = $this->provider->fetchRow("SELECT points FROM perfect WHERE type='empires' && email='". $get_players->row['email'] ."'"); 
     if($get_emp != NULL && $get_emp['points'] < $get_players->row['total_people_count']) 
     { 
      $this->provider->executeQuery('DELETE FROM perfect WHERE type="empires" && email="'. $get_players->row['email'] .'"'); 
     } 
     if($get_emp['points'] < $get_players->row['total_people_count'] || $get_emp == null) 
     { 
      $this->provider->executeQuery('INSERT INTO perfect SET type="empires", name="%s", email="%s", points="%s", p_date="%s"', 
              array($get_players->row['name'], $get_players->row['email'], $get_players->row['total_people_count'], date('Y.m.d')) 
      ); 
     } 
    } 


    $emp = 0; 
    $empir = $this->provider->fetchResultSet("SELECT points FROM perfect WHERE type='empires' ORDER BY points DESC LIMIT 3"); 
    while ($empir->next()) 
    { 
     $emp = $empir->row['points']; 
    } 

    $this->provider->executeQuery('DELETE FROM perfect WHERE points < %s && type="empires"', array($emp)); 

    // end empires 

    // looters 
    $count_looters = 0; 
    $looters_points = 0; 
    $looters = $this->provider->fetchResultSet("SELECT points FROM perfect WHERE type='looters' ORDER BY points DESC LIMIT 3"); 
    while ($looters->next()) 
    { 
     $looters_points = $looters->row['points']; 
     $count_looters++; 
    } 

    if($count_looters < 3) 
    { 
     $looters_points = 0; 
    } 

    $get_players = $this->provider->fetchResultSet('SELECT name, email, thief_points FROM p_players WHERE thief_points > %s', array($looters_points)); 
    while ($get_players->next()) 
    { 
     $get_loo = $this->provider->fetchRow("SELECT points FROM perfect WHERE type='looters' && email='". $get_players->row['email'] ."'"); 
     if($get_loo != NULL && $get_loo['points'] < $get_players->row['thief_points']) 
     { 
      $this->provider->executeQuery('DELETE FROM perfect WHERE type="looters" && email="'. $get_players->row['email'] .'"'); 
     } 
     if($get_loo['points'] < $get_players->row['thief_points'] || $get_loo == null) 
     { 
      $this->provider->executeQuery('INSERT INTO perfect SET type="looters", name="%s", email="%s", points="%s", p_date="%s"', 
              array($get_players->row['name'], $get_players->row['email'], $get_players->row['thief_points'], date('Y.m.d')) 
      ); 
     } 
    } 


    $loo = 0; 
    $loote = $this->provider->fetchResultSet("SELECT points FROM perfect WHERE type='looters' ORDER BY points DESC LIMIT 3"); 
    while ($loote->next()) 
    { 
     $loo = $loote->row['points']; 
    } 
    $this->provider->executeQuery('DELETE FROM perfect WHERE points < %s && type="looters"', array($loo)); 

    // end looters 


    // kings 
    $end_server   = $this->provider->fetchRow("SELECT win_pid, game_over FROM `g_settings`"); 
    $end_server_player = $this->provider->fetchRow('SELECT `name`,`email` FROM `p_players` WHERE id='.$end_server['win_pid'].' '); 
    if($end_server_player != null) 
    { 
     $this->provider->executeQuery('INSERT INTO perfect SET type="kings", name="%s", email="%s", points="%s", p_date="%s"', 
             array($get_players['name'], $get_players['email'], 0, date('Y.m.d')) 
     ); 
    } 
} 
相關問題