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 :

Insert Into T_CONSTANT_ENCAPSED_STRING [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 89
    Par défaut Insert Into T_CONSTANT_ENCAPSED_STRING
    Voilà c'est très simple j'ai cette erreur lors de l'exécution de ma requête : T_CONSTANT_ENCAPSED_STRING

    Voici la requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $cnx = mysql_connect("localhost", "root", "") or die("Erreur de connexion MySQL"); // Connexion à MySQL
    mysql_select_db("Machines"); // Sélection de la base
    mysql_query('INSERT INTO machines (mach_id, mach_nom, mach_descr, mach_img) VALUES ('','".$_POST['nom']."','".$_POST['descr']."','".$nom."');');
    mysql_close();
    J'ai vérifié tous les champs existes bien.

    SVP aidez moi sa dois être simple mais sa fait 20min que je cherche ... sans trouver !!

  2. #2
    Inactif
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 179

  3. #3
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Vu l'affichage de ta requête tu as un problèmes de quotes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query("INSERT INTO machines (mach_id, mach_nom, mach_descr, mach_img) VALUES ('','".$_POST['nom']."','".$_POST['descr']."','".$nom."');");
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  4. #4
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 89
    Par défaut
    Ok merci beaucoup Celira.
    Pourtant au départ j'était partit sur des " " mais j'ai changé par la suite. J'ai du arranger la 1ère erreur puis ajouter celle-ci ensuite !!

  5. #5
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 89
    Par défaut
    J'ai à nouveau un problème dans un insert into, pourtant j'ai fait exactement comme précédemment !!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $sql = "INSERT INTO saviezvous (sv_id, sv_titre, sv_descr, sv_img) VALUES ('','".$_POST['titre']."','".$_POST['descr']."','".$nom."');";
    mysql_query($sql, $cnx) or die("Erreur dans $sql");

  6. #6
    Membre expérimenté
    Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2006
    Messages : 251
    Par défaut
    Pourrais-t-on avoir l'erreur que mysql_error renvoie lors de l'execution ?

  7. #7
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 89
    Par défaut
    Erreur dans INSERT INTO saviezvous (sv_id, sv_titre, sv_descr, sv_img) VALUES ('','Titre de l'information','Description de votre information','isolation2.jpg');

    Mais sinon il ne m'affiche pas d'erreur c'est sa aussi qui est étrange

  8. #8
    Membre expérimenté
    Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2006
    Messages : 251
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query($sql, $cnx) or die("Erreur dans $sql: ".mysql_error());
    Comme ça il devrai afficher une erreur mieux

  9. #9
    Membre chevronné Avatar de SphynXz
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    439
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 439
    Par défaut
    ton erreur est due aux textes contenant des apostrophes

    insert into tatable values (' titre de l'information ');

    il va essayer d'insérer 'titre de l' et après et bien information, il sait pas ce que c'est!

    insère tes données avec la fonction addslashes qui va insérer un caractère d'échappement avant chaque apostrophe

    de la façon suivante :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $sql = "INSERT INTO saviezvous (sv_id, sv_titre, sv_descr, sv_img) VALUES ('','".addslashes($_POST['titre'])."','".addslashes($_POST['descr'])."','".addslashes($nom)."');";
    mysql_query($sql, $cnx) or die("Erreur dans $sql");

  10. #10
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2008
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2008
    Messages : 89
    Par défaut
    Bien vu SphynXz
    C'était éxactement sa mon erreur !!
    Je devrai donc dans ce cas appliqué la même methode à mon autre requete sql pour eviter le même type d'erreur.


  11. #11
    Membre chevronné Avatar de SphynXz
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    439
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 439
    Par défaut
    voilà

    Par contre, lorsque tu voudra afficher ces données que tu aura récupéré depuis ta base de données. elle sera affichée comme ceci :

    Titre de l'\'information

    Pour pallier à ce problème, il y à la fonction inverse stripslashes($variable) qui se chargera de retirer les caractères d'échappement pour enfin afficher

    Titre de l'information


  12. #12
    Inactif
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 179
    Par défaut
    addslashes n'est pas la bonne fonction à appeler, c'est mysql_real_escape_string.

    Et il n'y a aucun besoin de stripslashes à moins que magic_quotes soit activé.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 19/10/2006, 14h28
  2. probleme clé sequentiel avec insert into
    Par shake dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 08/06/2004, 15h54
  3. probleme d'INSERT INTO et JavaScript
    Par Matlight dans le forum Langage SQL
    Réponses: 3
    Dernier message: 04/03/2004, 15h36
  4. erreur SQL ...INSERT INTO
    Par naidinp dans le forum ASP
    Réponses: 20
    Dernier message: 18/09/2003, 11h38
  5. Insert Into + Date
    Par BoeufBrocoli dans le forum SQL
    Réponses: 10
    Dernier message: 13/08/2003, 11h23

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