Salut a tous.
J'ai un petit probleme avec l'execution d'une requete en PHP avec ADODB.
En fait, j'ai mon code PHP qui me genere une requete SQL multiple, et qui l'execute en utilisant le parametre $inputarr.
Voici le code, cela sera plus facilement comprehensible.
Voila.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 sql=""; $vars=array(); foreach($codes as $val) { $vars[]=$val['code']; $vars[]=$val['id']; $sql.=" UPDATE partner SET code=? WHERE partnerid=?;"; } if($sql!=="") { $result=$this->db->gDB2->execute($sql, $vars); if($result==false){echo "<br>".$sql."<br>".$this->db->gDB2->ErrorMsg($sql); return false;} }
Le probleme que j'ai, c'est que ceci marche impecc sur mon serveur de developpement, qui tourne sous MS Windows 2000 SP4, Apache 2.0.52, PHP 4.4.4, alors que sur mon serveur de production, qui lui est sous MS Windows Server 2003 SBS SP2, Apache 2.2.6, PHP 5.2.5, cela ne marche pas.
Quand j'execute la requete, j'ai le message d'erreur suivant :
J'ai tente d'executer la meme requete, mais dans le cas ou elle n'est repetee qu'une fois, et ca passe. Donc apparement, ce qui pose probleme, c'est l'execution d'une requete multiple.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 UPDATE partner SET code=? WHERE partnerid=?; UPDATE partner SET code=? WHERE partnerid=?; UPDATE partner SET code=? WHERE partnerid=?; UPDATE partner SET code=? WHERE partnerid=?; UPDATE partner SET code=? WHERE partnerid=?; UPDATE partner SET code=? WHERE partnerid=?; UPDATE partner SET code=? WHERE partnerid=?; UPDATE partner SET code=? WHERE partnerid=?; UPDATE partner SET code=? WHERE partnerid=?; UPDATE partner SET code=? WHERE partnerid=?; ERREUR: n'a pas pu insérer les commandes multiples dans une instruction préparée Error while updating all code mask
Petite precision, ces deux serveurs se connectent a la meme base de donnees (postgresql 8.2), donc le probleme ne vient pas de la BD...
Alors est ce que ca vient de la configuration de mon serveur, des drivers ODBC, d'autre chose ??? J'en ai absolument aucune idee.
Donc si quelqu'un a deja eu ce probleme, ou si vous avez une solution, ce serait cool de bien vouloir m'aider.
Je vous remercie par avance pour vos reponses.
jinpol
Partager