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

Langage PHP Discussion :

ancien php vers pdo


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 13
    Points : 14
    Points
    14
    Par défaut ancien php vers pdo
    Bonjour Forum,

    j'ai un fichier php qui a bien fonctionné mais depuis un certain temps avec l'évolution PDO il ne fonctionne plus.
    j'ai le message : Deprecated: mysql_query(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in.....

    (la connection à la base mysql se fait bien)

    il bloque ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
                     $sql = 'SELECT DISTINCT jour_evenement, titre_evenement FROM calendrier c, evenements e WHERE mois_evenement = '.$mois.' AND annee_evenement = '.$annee.' AND c.id_evenement = e.id_evenement ORDER BY jour_evenement';
     
    		$query = mysql_query($sql) or die("Une requête a échouée.");
     
    		while ($row = mysql_fetch_array($query, MYSQL_NUM)) {
    			$result[] = $row[0];
    			$result[] = $row[1];
    		}
    		mysql_close();
    J'ai modifié la ligne $sql = 'SELECT DISTINCT ....de la façon suivante mais il y a des erreurs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $query = $sql->query('SELECT jour_evenement, titre_evenement FROM calendrier c, evenements e WHERE mois_evenement = "'.$mois.'" AND annee_evenement = "'.$annee.'" AND c.id_evenement = e.id_evenement ORDER BY jour_evenement');
                    while ($row = $query->fetch()){
     
    			$result[] = $row[0];
    			$result[] = $row[1];
    		}
     
    		close();
     
    		return $result;
    Quelqu'un serait il ou je me suis trompé?

    merci

    Shaki

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    C'est toute la syntaxe avec mysql_... qui est obsolète, et doit être remplacée par la syntaxe PDO.


  3. #3
    Invité
    Invité(e)
    Par défaut
    Tu appelles une fonction close() qui n'existe pas. Si tu veux fermer la connexion avec la base de données c'est dans ton cas $sql->close().

    Moins important car ça ne casse pas le script, mais tu devrais essayer à l'avenir de déclarer explicitement tes jointures en SQL pour une meilleure lisibilité et de meilleures performances. En l'état tes clauses WHERE sont appliquées à la totalité du produit cartésien des 2 tables au lieu de les appliquer au résultat de la jointure uniquement, soit beaucoup plus de lignes à traiter.

Discussions similaires

  1. [FLASH MX2004] Variable php vers flash
    Par Rhadamanthe59 dans le forum Flash
    Réponses: 8
    Dernier message: 01/03/2006, 22h14
  2. Aide sur requete PHP vers MySQL
    Par pounie dans le forum Requêtes
    Réponses: 4
    Dernier message: 19/02/2006, 15h12
  3. Réponses: 2
    Dernier message: 08/01/2006, 20h50
  4. Réponses: 7
    Dernier message: 01/12/2005, 15h30
  5. [FLASH 8] php vers flash
    Par molesqualeux dans le forum Flash
    Réponses: 2
    Dernier message: 18/11/2005, 16h03

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