[Php] Soit quelque chose m'échape soit y en a qui seront surpris!!!!

Soit quelque chose m'échape soit y en a qui seront surpris!!!! [Php] - Programmation

Marsh Posté le 19-04-2001 à 15:41:23    

Je fais un update dans une table Oracle.
Voici deux versions :
$conn = Ora_Logon("scott","tiger" );
$newcentre = ora_open($conn);
 
1ère version:
***********************************  
$points est un tableau de valeurs.
$co=implode(",",$points);
$cf est une chaîne.
$querycentre="update POLYGONE set CENTRE_N='".$cf."', COORDONNEES_N='".$co."' where NUM_COMMUNE='29040'";
ora_parse($newcentre,$querycentre);
ora_exec($newcentre);
 
2ème version
********************
je remplace la ligne de implode par:
$co="84,846,456,214,575";
 
Le problème : la 1ère version donne une erreur:
 
Warning: Ora_Parse failed (ORA-01756: une chaîne entre apostrophes ne se termine pas correctement -- while processing OCI function OPARSE) in c:\web\application\catd_php.php on line 171
 
La deuxième version marche sans problèmes.
A mon avis, la chaîne retournée par implode() n'est pas reconnue comme une chaîne par Oracle. Est-ce que l'on peut forcer le type? Je ne vois pas?

Reply

Marsh Posté le 19-04-2001 à 15:41:23   

Reply

Marsh Posté le 19-04-2001 à 15:53:24    

oui, tu peus forcer le type, en mettanjt le mot cle STRING devat ta variable
 
ex: (c'est du style mais la syntaxe est approximative..)
 
var = implode(  )
var2 = string var
 
et la var2 est une string de chez string (normalement)

Reply

Marsh Posté le 19-04-2001 à 16:17:12    

ça ne marche pas non plus, merci de ton idée qd même.
 
A mon avis, implode ne termine pas la chaîne comme il faudrai  
(caractère de fin de chaîne)
Qu'est-ce que vous en penser et surtout si vous avez une idée pour y remédier?

Reply

Marsh Posté le 19-04-2001 à 16:20:54    

Fais un  $co = sprintf('%s', $co )

Reply

Marsh Posté le 19-04-2001 à 16:41:30    

En fait, quelque chose m'échappe! Ce qui ne me surprends pas!
J'ai refait un exemple simple avec un implode et ça marche???
Il doit y avoir autre chose, je vais chercher. C'est peut être dû au fait que j'ai deux curseurs et je fait donc un erreur??
J'y retourne et je vous tiens au courant!

Reply

Marsh Posté le 19-04-2001 à 17:21:27    

En fait, ça vient de ma variable $points.
J'utilise une fonction $points=fonction($chaine);
ça me renvoie une chaine à partir d'une autre(modifiée).
 
En fait le principe de mon prog c'est lire des coordonnées sous forme de chaine, de les modifier et de les inscrire dans ma table Oracle.
 
Est-ce qu'il existe un caractère fin de chaîne en PHP?

Reply

Marsh Posté le 19-04-2001 à 17:36:18    

J'ai pas tout compris, mais dans ton cas, si tu utilises implode(",",$points); $points doit être un tableau, pas une chaîne de caractère.
 
@+

Reply

Marsh Posté le 19-04-2001 à 17:45:25    

C'est bon, j'ai trouvé, c'est ma fonction qui devait faire des erreurs en fin de chaîne de caractère mais je voudrais bien savoir qd même s'il y a un caractère de fin de chaîne en PHP?

Reply

Marsh Posté le 19-04-2001 à 17:55:17    

Non, il n'y a pas de caractère de fin de chaîne en PHP, c'est dynamique.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed