IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Problème avec OCI_PARSE [Oracle]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 17
    Par défaut Problème avec OCI_PARSE
    Bonjour a tous,
    J'ai un petit soucis avec oci_parse qui me retourne un ORA-00972: l'identificateur est trop long
    Je créé une requéte sql dans une boucle While:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    			if($i==1){
    				$val=$val."'".$value."'";
    				$suite=$suite."(".$nom;
    			}
    			else{
    				$val=$val.", '".$value."'";
    				$suite=$suite.", ".$nom;
    			}
    			$i++;
    (voila pour l'interieur de la boucle while)
    puis:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $sql="\"insert into ".$_POST['table2']." ".$suite.") values (".$val.")\"";
    $requete2= oci_parse($c1, $sql);
    (C'est un peu bourrin... Si quelqu'un a une autre solution je suis preneur!)
    Donc la dessus j'ai une erreur

    J'ai donc fais une echo $sql pour voir ce qui se cache la dedant:
    "insert into TEST1 (NOM, PRENOM, ADRESSE, PAYS) values ('xxxxxx', 'xxxxxx', 'rue bidon', 'france')"
    Je me suis amusé ensuite a copier coller cette requéte a la place de $sql dans oci_parse, la ca fonctionne...

    Je suppose donc que ca vienne des caracteres spéciaux de php "\"... Mais malheuresement je ne vois pas de solution, c'est pour cela que je vous demande votre aide,

    D'avance merci,
    Greg.

  2. #2
    Membre Expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Par défaut
    Bonjour,

    Pour commencer, à la place de ta boucle, tu peux utiliser implode sur ton tableau de valeurs.

    Ensuite, pour ton problème, il suffit que tu retires les \" en début et fin de la chaîne de caractères générée...

    Enfin, pour des raisons de sécurité, je te déconseille d'utiliser directement les données reçues d'un formulaire... Il faut avant les valider, voire les filtrer (ça peut se faire par exemple à l'aide d'oci_bind_by_name avec oci8)

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 17
    Par défaut
    Merci beaucoup.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 11h10
  2. Problème avec [b]struct[/b]
    Par Bouziane Abderraouf dans le forum CORBA
    Réponses: 2
    Dernier message: 17/07/2002, 10h25
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo