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 :

erreur insert PDO [PDO]


Sujet :

PHP & Base de données

  1. #1
    Débutant  
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Points : 132
    Points
    132
    Par défaut erreur insert PDO
    Bonjour,

    j'essaye de faire une requete insert avec PDO et j'ai cette erreur là:
    Call to a member function prepare() on a non-object

    requete:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $sql = "insert into client(nom, dateInscription) values(:nom, $date)";
     
    $req = $connexion->prepare($sql);
    $req->execute(array(':nom'=>$name));
    Merci de votre aide

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Cela signifie que $connexion n'est pas une connexion PDO.
    C'est donc plus haut qu'il faut voir.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Débutant  
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Points : 132
    Points
    132
    Par défaut
    Voici le script qui concerne la connexion

    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
    <?php
     
    $DB_HOST = 'localhost'; // nom du serveur
    $DB_NAME = 'base'; // nom de la BDD
    $DB_USER = 'root'; // utilisateur
    $DB_PASSWORD = ''; // mot de passe
     
    try
    {
    	$connexion = new PDO('mysql:host='.$DB_HOST.';dbname='.$DB_NAME, $DB_USER, $DB_PASSWORD);
    }
    catch(Exception $e)
    {
        echo 'Problème d\'accès à la base de données, erreur : '.$e->getMessage().'<br />';
        echo 'N° : '.$e->getCode();
    }
    ?>
    Il faut pas préciser le type de character de la base?

  4. #4
    Débutant  
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Points : 132
    Points
    132
    Par défaut
    C'est bon problème résolu
    J'ai mi mon include d'accès à la base de donnée dans le script de contrôle d'insert alors que avant il été dans mon script d'entete

    On peut donc pas mettre un accessBdd dans un fichier include d'entete?

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    La notion d'en tête n'existe pas en PHP ; le script s'execute du début à la fin.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Débutant  
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Points : 132
    Points
    132
    Par défaut
    Je me suis peut être mal exprimé
    Voici la structure du site
    creerClientInsert.php
    formClient.php
    formSite.php
    creerSiteiInsert.php
    index.php
    site.php
    client.php
    accesBDD.php
    Dossier css
    Dossier JS
    Dossier Include: header.php et footer.php

    J'avais mi mon include dans header.php

    hearder et footer sont appellé dans chaque script qui affiche un formulaire
    Cela n'était donc pas possible.

  7. #7
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    hearder et footer sont appellé dans chaque script qui affiche un formulaire
    ils sont appellés de quelle manière ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  8. #8
    Débutant  
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Points : 132
    Points
    132
    Par défaut
    en include

  9. #9
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il n'y a pas de raison que ça ne fonctionne pas.
    Suis ton code pour voir ce qui se passe entre le moment ou tu initialises $connexion et le moment ou tu fais la requête.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  10. #10
    Débutant  
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Points : 132
    Points
    132
    Par défaut
    Sa m'a l'air d'être bon. J'ai refait ma structure de site.
    Maintenant, quand mon client a bien été ajouter, je souhaite afficher un message et le rediriger vers la page d'accueil
    sauf que sa me redirige sans m'afficher le client si je met mon header
    si je le met pas, sa m'affiche bien le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    	if ($connexion->prepare($sql)==true)
    	{	    header("Location: index.php");
        	    Echo "<script language='Javascript'>";
        	    Echo "<!--\n"; // le "\n" permet de passer une ligne en Javascript
                Echo "alert('Le client a été enregistré !');\n";
    	    Echo "// -->\n";
    	    Echo "</script\n>";
     
     
    	}

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

Discussions similaires

  1. Erreur insert asp
    Par Alex35 dans le forum ASP
    Réponses: 4
    Dernier message: 03/01/2007, 14h24
  2. Ligne de commande : erreur INSERT
    Par webrider dans le forum Requêtes
    Réponses: 7
    Dernier message: 30/08/2006, 14h13
  3. [MySQL] erreur insertion quand je saisi des '
    Par snakejl dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 28/06/2006, 12h59
  4. Erreur INSERT id vide
    Par concombre dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 26/05/2006, 17h23
  5. DBMemo sur champ Text erreur insert
    Par htristra dans le forum C++Builder
    Réponses: 1
    Dernier message: 02/11/2005, 15h17

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