Ažuriranje ne uspeva sa svim kolonama

Ažuriranje ne uspeva sa svim kolonama

offline
  • Programer
  • Pridružio: 23 Maj 2012
  • Poruke: 4575

Napisano: 14 Avg 2015 23:15

Postavio sam temu i na StackOverflow , ali do konkretnog rešenja nismo došli - verovatno je u pitanju neka greška u SQL-u, ali ne razumem kako sa jednom kolonom radi, a sa drugom ne?! Prvi put sam funkciju update() testirao na update.php (tu korisnik ažurira informacije). Tamo sve radi super tj. menja podatke korisnika (za sada samo puno ime). Sada to pokušavam da odradim na admin.php, ali ne ide. Hoću da ažuriram kolonu tako da izmeni grupu korisniku u 4 gde su blokirani korisnici (grupe su u vidu JSON-a, naprimer {"admin" : 1} (admin true)). Evo i stranica:

+ admin.php

Ovo je funkcija u User.php koju pozivam sa $user->update()

      public function update($fields = array(), $id = null) {          if(!$id && $this->isLoggedIn()) {             $id = $this->data()->id;          }          if(!$this->_db->update('users', $id, $fields)) {             throw new Exception('There was a problem updating');          }       }

A ovo je funkcija update, ali u DB.php (opšta):

       public function update($table, $id, $fields) {            $set = '';            $x = 1;            foreach($fields as $name => $value) {               $set .= "{$name} = ?";               if($x < count($fields)) {                  $set .= ',';               }               $x++;            }            $sql = "UPDATE {$table} SET {$set} WHERE ID = {$id}";                 echo $sql;            if(!$this->query($sql, $fields)->error()) {             return true;            }            return false;         }

Po Rastinom predlogu sam uključio error_reporting u init.php , ali ne pokazuje mi se nikakva greška. Sa print_r($e) hvatam Exception i dobijam sledeće:

Exception Object ( [message:protected] => There was a problem updating [string:Exception:private] => [code:protected] => 0 [file:protected] => /home/nikola/public_html/app/classes/User.php [line:protected] => 52 [trace:Exception:private] => Array ( [0] => Array ( [file] => /home/nikola/public_html/app/admin.php [line] => 111 [function] => update [class] => User [type] => -> [args] => Array ( [0] => Array ( [group] => 4 ) [1] => 32 ) ) ) [previous:Exception:private] => )

Dopuna: 15 Avg 2015 13:44

Rešeno! Umesto

$user->update(array('group' => 4), $user->data()->id);

je trebalo

$user->update(array('`group`' => 4), $user->data()->id);

Video sam da je GROUP rezervisana SQL komanda pa sam pretpostavio da bi ovo moglo da pomogne Smile



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
Ko je trenutno na forumu
 

Ukupno su 1074 korisnika na forumu :: 62 registrovanih, 5 sakrivenih i 1007 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: ajo baba, armor, Atomski čoban, BlekMen, Bobrock1, bufanje, celik, cenejac111, Dimitrije Paunovic, Dimitrise93, djboj, Djokislav, draganca, draggan, dule10savic, esx66, Frunze, goxin, havoc995, Helket, Kibice, kobaja77, krkalon, Krvava Devetka, kunktator, ljubacv, mercedesamg, Mercury, milenko crazy north, milimoj, Milometer, milutin134, nemkea71, nikoladim, Nobunaga, novator, oldtimer, Panter, panzerwaffe, procesor, rasok, Recce, Romibrat, royst33, ruger357, S2M, savaskytec, shone34, Sirius, slonic_tonic, solic, Stoilkovic, suton, tubular, uruk, vasa.93, Vlada1389, VojvodaMisic, wolverined4, žeks62, 125, 1107