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 :

caractères spéciaux OBDC (insertion données dans Acess via formulaire php) [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 3
    Points : 2
    Points
    2
    Par défaut caractères spéciaux OBDC (insertion données dans Acess via formulaire php)
    Bonjour,

    Merci par avance pour les personnes qui prendront le temps pour me répondre,

    J'ai crée un formulaire sous html/php qui envoie des données vers une BDD Access. (via ODBC)
    Le souci c'est que quand les données rentrées dans le formulaire comportent des caractères spéciaux comme des accents, ces données apparaissent bien dans Access MAIS par exemple "Agnès" se transforme en "Agnès".

    En plus de cela, quand le formulaire comporte des guillemets simples, dans ce cas là, ça ne veut pas envoyer les données et ça me donne une erreur de ce type:

    "Warning: odbc_exec(): SQL error: [Microsoft][Pilote ODBC Microsoft Access] Erreur de syntaxe (op�rateur absent) dans l'expression ��'l'','l''��., SQL state 37000 in SQLExecDirect in I:\Bdps\QA_USINE\ECHANGE\AQ Projet\Projet TPP\ServeurTPP\TPP\form\sauvegarde_num.php on line 31
    Erreur de SQL"
    J'ai donc un double problème, d'un côté avec les guillemets et de l'autre avec les autres caractères spéciaux (les données s'enregistrent bien dans la base mais les caractères spéciaux ne sont pas pris en compte);

    Voici mon code pour l'envoi des données dans Access (appelée base TPP)

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    <?php
     
    //Connexion à la base TPP
    $conn = odbc_connect('TPP','','') or die('Erreur de connexion');
    $verif = 1;
     
    //message si pas bien rempli
    Foreach ($_GET as $cle=>$valeur){
    	if(!$valeur){
    		echo "Veuillez saisir le champ ".str_replace("_"," ",$cle). ". Mettez bien N/A pour les champs non applicables.";
    		echo "<br> Veuillez revenir en arrière pour compléter la demande.";
    		$verif = 0;
    		exit;
    	}
    }
     
    //execution si bien rempli
    if($verif == 1){
    	$Valeurs = "(";
    	Foreach ($_GET as $cle=>$valeur){
    	    $Valeurs = $Valeurs ."'".$valeur."',";
     
     
    }
    	$Valeurs=substr($Valeurs, 0, -1);
     
     
    //Savegarder la demande dans la base de données 	
    	$sql = "Insert INTO DemandeNumero (Nom,Prenom,Service,Telephone,TypeDocument,VPassocie,PRVassocie,Phase,NouvelleRev,RevPrecedente,Titre,Auteur,NumCC,NumProjet,Pole,Equipement,Produit) 
    			Values ".$Valeurs.")";
    	$rs = odbc_exec($conn, $sql);	
    	if(!$rs){
    				exit("Erreur de SQL");
    			}
    }
     
    ?>
    Merci beaucoup par avance,

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour et bienvenue sur DVP,

    Voici une discussion à lire.

    Voir aussi :




    N.B. Attention : "foreach" s'écrit TOUT en minuscules (comme le reste, d'ailleurs : for, if, else, switch...)

  3. #3
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 3
    Points : 2
    Points
    2
    Par défaut réponse
    Citation Envoyé par jreaux62 Voir le message
    Bonjour et bienvenue sur DVP,

    Voici une discussion à lire.

    Voir aussi :




    N.B. Attention : "foreach" s'écrit TOUT en minuscules (comme le reste, d'ailleurs : for, if, else, switch...)

  4. #4
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 3
    Points : 2
    Points
    2
    Par défaut réponse
    désolé j'ai fait une erreur de manip j'ai envoyé votre réponse sans le commentaire que je voulais faire.

    Si j'ai bien compris il faut juste que je rajoute dans mon code php:

    utf8_encode($Valeurs)

    J'ai essayé mais ça n'a pas l'air de bien marcher...

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

Discussions similaires

  1. [MySQL] Insérer valeurs dans BDD via formulaire php
    Par Seeverine dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 03/11/2014, 12h39
  2. [MySQL] problème insertion donnée dans une table
    Par thebestxav dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 30/04/2011, 20h01
  3. [MySQL] insertion données dans BDD via formulaire
    Par stefanelle dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 23/02/2009, 10h51
  4. [DOM XML] Insertion données dans fichier XML avec PHP pour Flash ?
    Par ExSter dans le forum Bibliothèques et frameworks
    Réponses: 17
    Dernier message: 10/05/2006, 11h16

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