예제 #1
0
 public static function SaveFactionData($data)
 {
     $query = 'UPDATE faction SET ';
     foreach ($data as $key_ => $value_) {
         $key = mysql_real_escape_string($key_, DB::$handler);
         $value = mysql_real_escape_string($value_, DB::$handler);
         if ($key != 'id') {
             if ($value == null) {
                 $query .= "{$key}=NULL, ";
             } else {
                 $query .= "{$key}='{$value}', ";
             }
         }
     }
     $id = mysql_real_escape_string($data['id'], DB::$handler);
     $query = substr($query, 0, strlen($query) - 2) . ' WHERE id=' . $id;
     if (!mysql_query($query, DB::$handler)) {
         if (mysql_errno() != 1452) {
             DB::DBdie('Error updating faction data: ' . mysql_error() . "\n");
         }
         echo "WARNING! Saving faction data failed for integrity, setting null HQ and re-saving\n";
         $faction = Factions::Find($data['id']);
         if ($faction) {
             $faction->SetHQ(null);
             $faction->Save();
         }
     }
     return true;
 }