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 :

formulaire du php4 au php5 PDO


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Octobre 2004
    Messages
    514
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 514
    Par défaut formulaire du php4 au php5 PDO
    bonjour j'essaye de faire des modification d'un script je j'ai réalisée qui était fonctionnel et que j'aimerais mettre a niveau avec PDO, j'ai créer un script de configuration, puis j'ai réalisé de modification. mais j'ai des erreurs seriez vous m' aidé svp?

    config
    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
    <?php
    /*** mysql hostname ***/
    $hostname = 'localhost';
    /*** mysql BD ***/
    $dbname = 'annonce';
    /*** mysql username ***/
    $username = 'root';
    /*** mysql password ***/
    $password = '';
    try {
        $dbh = new PDO("mysql:host=$hostname;dbname=".$dbname."", $username, $password, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING));
        }
    catch(PDOException $e)
        {
        /*** ERREUR de connexion ***/
        echo 'Echec de la connexion : ' . $e->getMessage();
        exit;
        }
     
    ?>
    le script modifier avec les erreurs suivant (Fatal error: Call to a member function fetch() on a non-object in C:\Program Files\EasyPHP-5.3.8.1\annonce 2\inscription.php on line 178)

    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
          $texts_exist_nom = $dbh->exec("SELECT nom FROM comptes WHERE nom='".$_POST['nom']."'");    
          $data_nom = $texts_exist_nom->fetch(PDO::FETCH_NUM);  
          /*** place dans la table de l'email ***/
          if (!$data_nom[1] == 1) {
    /***********************************************************************************************************************/    
          //On verifie sil ny a pas deja un utilisateur inscrit avec le pseudo choisis
    	  /*$texts_exist_nom=mysql_query("SELECT nom FROM comptes WHERE nom='".$_POST['nom']."'") or die (mysql_error());
    	  $test_nom_nb=mysql_num_rows($texts_exist_nom);
    	  if(!$test_nom_nb==1)
    	  {
          //On verifie sil ny a pas deja un utilisateur inscrit avec l' email choisis
    	  $texts_exist_email=mysql_query("SELECT email FROM comptes WHERE email='".$_POST['email']."'") or die (mysql_error());
    	  $test_email_nb=mysql_num_rows($texts_exist_email);
    	  if(!$test_email_nb==1)
    	  {	*/
          $texts_exist_mail = $dbh->exec("SELECT email FROM comptes WHERE email='".$_POST['email']."'");    
          $data_mail = $texts_exist_mail->fetch(PDO::FETCH_NUM);  
          /*** place dans la table de l'email ***/
          if (!$data_mail[3] == 1) {

  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
    Par défaut
    Cela signifie qu'une de tes requêtes n'a pas fonctionné.
    Tu devrais utiliser le mode d'erreur PDO::ERRMODE_EXCEPTION, ce n'est pas normal que tu n'ais pas eu l'erreur au niveau de l'execution.

    Au passage, n'injecte pas directement des données provenant de l'utilisateur dans ta requête; utilise des requêtes préparées.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 292
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 292
    Par défaut
    Au passage :

    pourquoi ce choix de PDO::FETCH_NUM ????

    il faut tester pour voir son fonctionnement ( print_r() )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $texts_exist_mail = $dbh->exec("SELECT email FROM comptes WHERE email='".$_POST['email']."'");
    $data_mail = $texts_exist_mail->fetch(PDO::FETCH_NUM);  
    print_r($data_mail);
    if (!$data_mail[3] == 1) {

Discussions similaires

  1. [POO] doc pour comparaison POO entre PHP4 et PHP5
    Par mic79 dans le forum Langage
    Réponses: 4
    Dernier message: 19/01/2007, 15h40
  2. [DOM XML] Compatibilité xml php4 et php5
    Par brasco06 dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 14/12/2006, 11h48
  3. Applic PHP4 sous PHP5
    Par Michael# dans le forum Langage
    Réponses: 3
    Dernier message: 14/11/2006, 20h54
  4. [Debian + Apache2] PHP4 vers PHP5
    Par Jean_Benoit dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 01/05/2006, 17h43
  5. [POO] class php4 vers php5, redefinition de $this
    Par jeff_! dans le forum Langage
    Réponses: 1
    Dernier message: 23/03/2006, 19h33

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