Problème de requête SQL [PHP][ORACLE] - PHP - Programmation
Marsh Posté le 30-05-2007 à 17:21:36
b3ck a écrit :
|
dans le bon ordre ça serait mieux
b3ck a écrit : Warning: odbc_exec(): SQL error: [Microsoft][ODBC driver for Oracle]Impossible d'utiliser le curseur de table de caractères sur join, avec une clause distincte union, intersection ou moins ou sur une série de résultats en lecture seule, SQL state S1C00 in SQLExecDirect in c:\... |
bizarre, tu as testé avec le driver oracle sinon ?
Marsh Posté le 30-05-2007 à 18:26:15
Non j'ai pas testé le driver oracle (je sais pas comment ça s'instal :s)
Mais je trouve ça bizarre car les requêtes de types select toutes simples fonctionne parfaitement...
Marsh Posté le 31-05-2007 à 11:59:16
J'ai un nouveau soucis sur ma requête d'insertion ...
Voici le message d'erreur :
Citation : |
Le problème vien du fais que dans ma requête sql la variable $msg peut contenir des apostrophes :s. j'ai beau avoir mis des addslashes il considère la fin de la chaîne des la première apostrophe de ma chaîne
exemple :
Code :
|
Quelqu'un aurait une idée de comment faire ?
Merci à tous
Marsh Posté le 31-05-2007 à 13:56:00
avec oracle il faut doubler les quotes
pour le driver odbc oracle : http://www.oracle.com/technology/s [...] index.html
Marsh Posté le 31-05-2007 à 14:17:41
il existe une fonction spécifique à oracle pour doubler les quotes ? car le messages et dans une variables donc je ne peut pas les mettres manuellements
Merci pour ta réponse en tout cas soju
Marsh Posté le 31-05-2007 à 14:27:12
je ne sais pas comment ca s'appelle en php mais regarde du coté des requetes paramétrisées, ou prepared statement en java, avec ca tu ne dois pas t'amuser a connaitre le format date en cours ou doubler tripler tes quotes.
c'est bien plus simple et plus safe
Marsh Posté le 31-05-2007 à 14:32:36
ReplyMarsh Posté le 31-05-2007 à 14:43:06
Les fonctions pdo m'ont l'air interessante mais le soucis c'est que j'utilise php4.x et je pense que je n'aurai pas le temps de tout refaire mon appli (il me reste 2 semaines de stages ). merci pour l'info en tout cas ça pourra me servir pour plus tard.
Je vais aller fouiller dans la doc de php pour voir si je trouve une fonction pour doubler les quotes ^^ (si vous la connaissez faîte moi signe )
Marsh Posté le 31-05-2007 à 14:48:39
b3ck a écrit : Je vais aller fouiller dans la doc de php pour voir si je trouve une fonction pour doubler les quotes ^^ (si vous la connaissez faîte moi signe ) |
un str_replace devrait suffire
Marsh Posté le 31-05-2007 à 15:05:00
Merci soju ça marche ce coup ci me reste un petit message d'erreur que je sais pas d'où ça vient mais je vais trouver ^^
Marsh Posté le 30-05-2007 à 13:08:09
Bonjour à tous.
Je suis actuellement en stage et je dois programmer une application en php. Le but de cette application serait de mettre a jour une base de donnée oracle à l'aide de données contenues dans un fichier log.
Pour me connecter à la base de donnée ORACLE j'utilise le driver ODBC.
Mon problème survient lorsque j'éxécute une requête d'insertion et une requête select count.
Requête d'insertion
L'erreur retournée est la suivante :
Warning: odbc_result(): supplied resource is not a valid ODBC result resource in c:\...
Warning: Wrong parameter count for odbc_exec() in c:\...
Les variables dans la requête peuvent contenir des apostrophes j'ai donc ajouter des addslashes à ces variables, mais le problème persiste.
Exemple:
Requête select count:
Pour la requête select count le message d'erreur est le suivant :
Warning: odbc_exec(): SQL error: [Microsoft][ODBC driver for Oracle]Impossible d'utiliser le curseur de table de caractères sur join, avec une clause distincte union, intersection ou moins ou sur une série de résultats en lecture seule, SQL state S1C00 in SQLExecDirect in c:\...
Warning: odbc_result(): supplied argument is not a valid ODBC result resource in c:\...
Merci
Config :
Windows 2000 Pro
Internet Explorer 6
EasyPHP 1.8
Oracle 9.2 Client / Server
Message édité par b3ck le 30-05-2007 à 15:16:12