2010-05-12 6 views
0

J'ai un script qui est un notify_url de paypal qui est censé mettre à jour plusieurs tables dans ma base de données en utilisant le code suivant:Codeigniter Définition de plusieurs où les conditions, comment UNSET un

// première mise à jour le tableau
$ this-> db-> where ('someid', $ somid);
$ this-> db-> update ('table', $ data);
/// mettre à jour seconde table
$ this-> db-> où ('somesecondid', somesecondid de $)
$ this-> db-> de mise à jour ('anothertable', DATA2 $);

Puis-je obtenir l'erreur suivante: Unknown column 'somesecondid' dans 'où la clause'

MISE À JOUR anothertable SET avail = 0 où someid = '13' ET somesecondid = '199'


Alors CodeIgniter combine les clauses where en une seule requête. Existe-t-il un moyen de désactiver le premier afin qu'il ait seulement "UPDATE othertable SET avail = 0 WHERE somesecondid = 199"? Merci!

Répondre

1

Actuellement, je ne peux pas répliquer votre erreur. Je cours avec succès deux instructions de mise à jour comme vous les avez ci-dessus.

Comme alternative, vous pouvez transmettre les informations de la clause WHERE directement à $this->db->update() d'un tableau (par le CodeIgniter Active Record documentation) comme ceci:

$this->db->update('table', $data, array('someid' => $someid)); 
$this->db->update('anothertable', $data2, array('somesecondid' => $somesecondid)); 
Questions connexes