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 Mysql_fetch_object (serveur local)


Sujet :

PHP & Base de données

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 8
    Points : 1
    Points
    1
    Par défaut Erreur Mysql_fetch_object (serveur local)
    Bonjour,
    Nous essayons de coder sur un serveur local, un site ou nous présenterons un magasin de jeux vidéo (fictif) mais nous avons un problème concernant la liste des jeux, voici l'erreur que WAMP m'affiche sur le site web:

    Warning: mysql_fetch_object(): supplied resource is not a valid MySQL result resource in C:\wamp\www\Jeux video\liste.jeux.php on line 36
    Et voici le codage complet de mon fichier:

    Code PHP : 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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    <html>
     
    <head>
    <link rel="stylesheet" media="screen" type="text/css" title="stylecss" href="Style.css" />
    <meta http-equiv="Content-Type" content="text/html"; charset="ascii" />
    <title>Liste des jeux</title>
    </head>
    <?php
    //inclusion du fichier de connexion
    require_once ("connexion.php");
    //connexion au serveur et selection de la base
    $con=connecter();
    //ecriture de la requete de selection
    $requete="SELECT * FROM jeux video ORDER BY Titre";
    //execution de la requete et recuperaton du pointeur sur le jeu d'enregistrements
    $jeu=mysql_query($requete,$con);
    //parcours du jeu d'enregistrements
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/xhtml11.dtd">
    <html xmlns="http://www.w3.org/1999/xthml11">
    <head>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8"/>
    <title>Liste des jeux video</title>
    </head>
    <body>
    <table border="2" cellpadding="5" cellspacing="0">
    <tr>
    <!--en tête-->
    <th>Titre</th>
    <th>Date de sortie</th>
    <th>Genre</th>
    <th>Support</th>
    <th>Prix</th>
    </tr>
    <?php
    while ($enregistrement=mysql_fetch_object($con)){
    //recuperation du champ "Titre"
    $Titre=$enregistrement=$Titre;
    //recuperation du champ "Date de sortie"
    $Date_de_sortie=$enregistrement->Date_de_sortie;
    //recuperation du champ "Genre"
    $Genre=$enregistrement->Genre;
    //recuperation du champ "Support"
    $Support=$enregistrement->Support;
    //recuperation du champ "Prix"
    $Prix=$enregistrement->Prix;
    }
    ?>
    <tr>
    <!--affichage des champs-->
    <td><?php echo $Titre ?></td>;
    <td><?php echo $Date_de_sortie ?></td>;
    <td><?php echo $Genre ?></td>;
    <td><?php echo $Support ?></td>;
    <td><?php echo $Prix ?></td>;
    </tr>
    </table>
    </body>
    </html>

    L'erreur est censée se trouver ici: "while ($enregistrement=mysql_fetch_object($con)){" mais je ne voit aucun problème

    J'ai également à côté et pour ce même fichier, ces erreurs:

    Notice: Undefined variable: Titre in C:\wamp\www\Jeux video\liste.jeux.php on line 51
    Notice: Undefined variable: Date_de_sortie in C:\wamp\www\Jeux video\liste.jeux.php on line 52
    Notice: Undefined variable: Genre in C:\wamp\www\Jeux video\liste.jeux.php on line 53
    Notice: Undefined variable: Support in C:\wamp\www\Jeux video\liste.jeux.php on line 54
    Notice: Undefined variable: Prix in C:\wamp\www\Jeux video\liste.jeux.php on line 55
    Pourriez-vous me venir en aide, s'il vous plait?

    Merci beaucoup


    EDIT: première erreur corrigée il fallait remplacer mysql_fetch_object par mysql_query il me reste par contre les erreurs de la ligne 51 à 55

  2. #2
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2012
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2012
    Messages : 131
    Points : 242
    Points
    242
    Par défaut
    1-
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while ($enregistrement=mysql_fetch_object($jeu)){
    2- ferme la boucle while apres le dernier tr, comm suit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <td><?php echo $Prix ?></td>;
    </tr>
    <?php }?>

  3. #3
    Membre averti
    Avatar de Kyuudan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2015
    Messages
    100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2015
    Messages : 100
    Points : 308
    Points
    308
    Billets dans le blog
    1
    Par défaut
    Salut à toi !

    Déjà avant tout sache que l'extension de mysql est obsolète avec les nouvelles versions de PHP et qu'elle sera supprimée dans le futur. Pense à utiliser les extensions comme mysqli ou PDO (Personnellement je préfère PDO mais mysqli se rapproche plus de ton extension actuelle).

    Ensuite première question qu'as tu dans ce fichier php ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    require_once ("connexion.php");
    Parce que si tu te connectes à ta base depuis ce fichier php tu n'as pas besoin de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    //connexion au serveur et selection de la base
    $con=connecter();
    et honnêtement je comprend pas très bien à quoi te sert cette fonction...

    Ensuite pour ton mysql_query (qui est obsolète) pas besoin de rajouter ton $con
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $jeu=mysql_query($requete);
    Et ensuite pourquoi ne pas afficher directement les valeurs dans ton tableau au lieu de faire du ligne par ligne, affecter les valeurs... Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    while ($enregistrement=mysql_fetch_array($jeu)){ //Attention ici c'est $jeu qu'il faut mettre
    echo"<tr>
    <!--affichage des champs-->
    <td>".$enregistrement["Titre"]."</td>;
    <td>".$enregistrement["Date_de_sortie"]."</td>;
    <td>".$enregistrement["Genre"]."</td>;
    <td>".$enregistrement["Support"]."</td>;
    <td>".$enregistrement["Prix"]."</td>;
    </tr>";
    }
    ?>

    Voilà en espérant t'avoir éclairé !
    «Soyez la mesure de la qualité. De nombreuses personnes n’ont pas l’habitude d’un environnement où ce qui est attendu, c’est l’excellence.» Steve Jobs

    Pense à mettre un !

    de mettre vos sujets en une fois que vous avez la réponse à votre question !

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    Bonjour!
    Merci à vous pour ces réponses! J'en ai discuté avec mon prof en montrant vos messages mais il ne sait pas exactement à quoi correspondent les extensions mysqli et PDO... Ce n'est pas bien grave, c'est un projet BAC à présenter dans 15 jours et la seule aide à laquelle nous avons droit, c'est celle des forums.

    Voici mon fichier connexion:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    function connecter(){
    //connexion au serveur
    $con=mysql_connect('localhost','root','');
    //selection de la base
    mysql_select_db("jeux video",$con);
    //passage en UTF8
    $requete="SET NAMES utf8";
    mysql_query($requete,$con);
    //retourne l'identifiant (ici variable locale)
    return $con;
    }
    ?>
    Donc j'ai suivi vos conseils, voici maintenant à quoi ressemble mon code:

    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    <html>
     
    	<head>
    	<link rel="stylesheet" media="screen" type="text/css" title="stylecss" href="Style.css" />
    		<meta http-equiv="Content-Type" content="text/html"; charset="ascii" />
    		<title>Liste des jeux</title>
    	</head>
    <?php
    //inclusion du fichier de connexion
    require_once ("connexion.php");
    //ecriture de la requete de selection
    $requete="SELECT * FROM jeux video ORDER BY Titre";
    //execution de la requete et recuperaton du pointeur sur le jeu d'enregistrements
    $jeu=mysql_query($requete);
    //parcours du jeu d'enregistrements
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/xhtml11.dtd">
    <html xmlns="http://www.w3.org/1999/xthml11">
    <head>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8"/>
    <title>Liste des jeux video</title>
    </head>
     
    <body>
    <table border="2" cellpadding="5" cellspacing="0">
    <tr>
    <!--en tête-->
    <th>Titre</th>
    <th>Date de sortie</th>
    <th>Genre</th>
    <th>Support</th>
    <th>Prix</th>
    </tr>
    <?php
    while ($enregistrement=mysql_fetch_object($jeu)){
    echo"<tr>
    <!--affichage des champs-->
    <td>".$enregistrement["Titre"]."</td>;
    <td>".$enregistrement["Date_de_sortie"]."</td>;
    <td>".$enregistrement["Genre"]."</td>;
    <td>".$enregistrement["Support"]."</td>;
    <td>".$enregistrement["Prix"]."</td>;
    </tr>";
    }
    ?>
    </table>
    </body>
    </html>
    Et voici ce que ma page affiche maintenant:

    Deprecated: mysql_query(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in C:\wamp\www\liste.jeux.php on line 14
    Call Stack
    # Time Memory Function Location
    1 0.0030 134336 {main}( ) ..\liste.jeux.php:0
    2 0.0040 136488 mysql_query( ) ..\liste.jeux.php:14

    Ainsi que:

    Titre Date de sortie Genre Support Prix
    ( ! ) Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\wamp\www\liste.jeux.php on line 35
    Call Stack
    # Time Memory Function Location
    1 0.0030 134336 {main}( ) ..\liste.jeux.php:0
    2 0.0390 143344 mysql_fetch_object ( ) ..\liste.jeux.php:35
    Je ferais une capture d'écran lorsque je serais chez moi, je ne peux pas le faire depuis les PC du lycée...


    En espérant une réponse rapide,

    Cordialement

  5. #5
    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 : 39
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Tu as perdu la connexion à la base de données en route :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    //connexion au serveur et selection de la base
    connecter();
    Tu n'utilises plus la variable retournée par la fonction, mais ce n'est pas une raison pour ne plus appeler la fonction

    Concernant ceci :
    Citation Envoyé par Aelendelis Voir le message
    Deprecated: mysql_query(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead
    C'est exactement ce dont parlait Kyuudan plus haut :
    Citation Envoyé par Kyuudan Voir le message
    Déjà avant tout sache que l'extension de mysql est obsolète avec les nouvelles versions de PHP et qu'elle sera supprimée dans le futur. Pense à utiliser les extensions comme mysqli ou PDO (Personnellement je préfère PDO mais mysqli se rapproche plus de ton extension actuelle).
    En gros, pour l'instant ton code marche, mais dans les futures versions de PHP, il va t'exploser à la figure. A lire sur le sujet : PHP.net - Choisir une API MySQL
    Au passage, tu peux indiquer de ma part à ton prof que PDO existe depuis PHP 5.1 (soit près de 10 ans) et que ce serait sans doute une bonne idée qu'il potasse un peu le sujet, histoire de ne pas passer une quiche l'année prochaine.
    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]

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    Bonjour,
    Merci pour ta réponse, le message est passé au prof, il à dit qu'il prendra un week-end pour revoir ça

    Je me suis renseigné vite fait pour mysqli et j'ai modifié la fonction:

    mysql_query
    En

    mysqli::query
    Voici mon code à présent:

    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    <html>
     
    	<head>
    	<link rel="stylesheet" media="screen" type="text/css" title="stylecss" href="Style.css" />
    		<meta http-equiv="Content-Type" content="text/html"; charset="ascii" />
    		<title>Liste des jeux</title>
    	</head>
    <?php
    //connexion au serveur et selection de la base
    connecter();
    //ecriture de la requete de selection
    $requete="SELECT * FROM jeux video ORDER BY Titre";
    //execution de la requete et recuperaton du pointeur sur le jeu d'enregistrements
    $jeu=mysqli::query($requete);
    //parcours du jeu d'enregistrements
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/xhtml11.dtd">
    <html xmlns="http://www.w3.org/1999/xthml11">
    <head>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8"/>
    <title>Liste des jeux video</title>
    </head>
     
    <body>
    <table border="2" cellpadding="5" cellspacing="0">
    <tr>
    <!--en tête-->
    <th>Titre</th>
    <th>Date de sortie</th>
    <th>Genre</th>
    <th>Support</th>
    <th>Prix</th>
    </tr>
    <?php
    while ($enregistrement=mysql_fetch_object($jeu)){
    echo"<tr>
    <!--affichage des champs-->
    <td>".$enregistrement["Titre"]."</td>;
    <td>".$enregistrement["Date_de_sortie"]."</td>;
    <td>".$enregistrement["Genre"]."</td>;
    <td>".$enregistrement["Support"]."</td>;
    <td>".$enregistrement["Prix"]."</td>;
    </tr>";
    }
    ?>
    </table>
    </body>
    </html>
    Et le nouveau message d'erreur:

    Fatal error: Call to undefined function connecter() in C:\wamp\www\liste.jeux.php on line 10
    C'est vraiment bizarre...

  7. #7
    Modérateur
    Avatar de Kreepz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 681
    Points : 1 458
    Points
    1 458
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Tu n'aurais pas oublié le : require_once ("connexion.php");
    Pensez à regarder nos cours et tutoriels PHP ainsi que notre FAQ PHP avant de poser votre question!
    Un message vous a aidé, n'oubliez pas le

  8. #8
    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 : 39
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Pour pouvoir utiliser mysqli,il faut que tu remplaces toutes les fonctions mysql_xxxx par leur équivalent. Donc pour l'instant, laisse les fonctions mysql_, on va traiter un problème à la fois

    Ta fonction connecter est définie dans ton fichier connexion.php, il faut donc que tu l'inclus dans ton script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    //inclusion du fichier de connexion
    require_once ("connexion.php");
    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]

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    Bonjour!

    J'ai donc remis les fonctions mysql_

    Et j'ai rajouté la fonction:

    require_once ("connexion.php");

    Voici le code:

    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    <html>
     
    	<head>
    	<link rel="stylesheet" media="screen" type="text/css" title="stylecss" href="Style.css" />
    		<meta http-equiv="Content-Type" content="text/html"; charset="ascii" />
    		<title>Liste des jeux</title>
    	</head>
    <?php
    //inclusion du fichier de connexion
    require_once ("connexion.php");
    //connexion au serveur et selection de la base
    connecter("magasin");
    //ecriture de la requete de selection
    $requete="SELECT * FROM jeux video ORDER BY Titre";
    //execution de la requete et recuperaton du pointeur sur le jeu d'enregistrements
    $jeu=mysql_query($requete);
    //parcours du jeu d'enregistrements
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/xhtml11.dtd">
    <html xmlns="http://www.w3.org/1999/xthml11">
    <head>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8"/>
    <title>Liste des jeux video</title>
    </head>
     
    <body>
    <table border="2" cellpadding="5" cellspacing="0">
    <tr>
    <!--en tête-->
    <th>Titre</th>
    <th>Date de sortie</th>
    <th>Genre</th>
    <th>Support</th>
    <th>Prix</th>
    </tr>
    <?php
    while ($enregistrement=mysql_fetch_array($jeu)){
    echo"<tr>
    <!--affichage des champs-->
    <td>".$enregistrement["Titre"]."</td>;
    <td>".$enregistrement["Date_de_sortie"]."</td>;
    <td>".$enregistrement["Genre"]."</td>;
    <td>".$enregistrement["Support"]."</td>;
    <td>".$enregistrement["Prix"]."</td>;
    </tr>";
    }
    ?>
    </table>
    </body>
    </html>
    L'erreur:

    Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in C:\wamp\www\connexion.php on line 4
    Est revenue, ce qui est normal vu que j'ai viré le mysqli

    Sauf que maintenant j'ai cette erreur là:

    Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\wamp\www\liste.jeux.php on line 37
    Et toujours pas ma liste de jeux s'affichant...

  10. #10
    Modérateur
    Avatar de Kreepz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 681
    Points : 1 458
    Points
    1 458
    Billets dans le blog
    1
    Par défaut
    Mais pourquoi avoir enlevé le Mysqli ??
    Pensez à regarder nos cours et tutoriels PHP ainsi que notre FAQ PHP avant de poser votre question!
    Un message vous a aidé, n'oubliez pas le

  11. #11
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    Parce que Celira m'a dit ça: ?

    Citation Envoyé par Celira Voir le message
    Pour pouvoir utiliser mysqli,il faut que tu remplaces toutes les fonctions mysql_xxxx par leur équivalent. Donc pour l'instant, laisse les fonctions mysql_, on va traiter un problème à la fois

  12. #12
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Qu'est-ce qui t'empêche de déboguer toi-même ?

    Il suffit de lire le message d'erreur...
    A la ligne 37, tu as passé à mysql_fetch_array() un paramètre $jeu qui est un booléen alors que la fonction attend une ressource.
    Regarde d'où vient $jeu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $jeu=mysql_query($requete);
    Ce qui signifie que mysql_query($requete) a renvoyé un booléen.

    Il ne te reste plus qu'à aller consulter la doc de cette fonction pour savoir dans quels cas elle est supposée renvoyer un booléen dans le cas d'une requête SELECT.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  13. #13
    Modérateur
    Avatar de Kreepz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 681
    Points : 1 458
    Points
    1 458
    Billets dans le blog
    1
    Par défaut
    Si Celira te l'a dit alors!
    Pensez à regarder nos cours et tutoriels PHP ainsi que notre FAQ PHP avant de poser votre question!
    Un message vous a aidé, n'oubliez pas le

  14. #14
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    Je n'ai pas vraiment compris ce que je suis censé faire Bovino...


    Et Kreepz, je dois remettre mysqli alors et changer toutes les fonctions mysql_ et pas seulement le query?

    Il y aurais seulement la ligne 16 et 37 à changer?

  15. #15
    Modérateur
    Avatar de Kreepz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 681
    Points : 1 458
    Points
    1 458
    Billets dans le blog
    1
    Par défaut
    En fait quand Celira te dit
    Citation Envoyé par Celira
    il faut que tu remplaces toutes les fonctions mysql_xxxx par leur équivalent
    C'est qu'il faut modifier tes fonctions dans TOUTES tes pages.
    Pensez à regarder nos cours et tutoriels PHP ainsi que notre FAQ PHP avant de poser votre question!
    Un message vous a aidé, n'oubliez pas le

  16. #16
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    Je vais faire ça alors!

    Par contre, j'arrive vraiment pas à régler ce problème là:

    Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\wamp\www\liste.jeux.php on line 37
    Je suis allé voir sur le site PHP et je n'ai aucune indication dessus...

  17. #17
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Je suis allé voir sur le site PHP et je n'ai aucune indication dessus...
    Ben voyons...

    http://php.net/manual/fr/function.my...y-returnvalues.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  18. #18
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2015
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    J'ai vu ça mais du coup, maintenant, j'ai tout changer en mysqli, le fichier liste.jeux.php et connexion.php

    Voici mes codages:

    fichier connexion.php:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    function connecter(){
    //connexion au serveur
    $con=mysqli_connect('localhost','root','');
    //selection de la base
    mysqli::select_db("jeux video",$con);
    //passage en UTF8
    $requete="SET NAMES utf8";
    mysqli::query($requete,$con);
    //retourne l'identifiant (ici variable locale)
    return $con;
    }
    ?>
    Et liste.jeux.php:

    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    <html>
     
    	<head>
    	<link rel="stylesheet" media="screen" type="text/css" title="stylecss" href="Style.css" />
    		<meta http-equiv="Content-Type" content="text/html"; charset="ascii" />
    		<title>Liste des jeux</title>
    	</head>
    <?php
    //inclusion du fichier de connexion
    require_once ("connexion.php");
    //connexion au serveur et selection de la base
    connecter();
    //ecriture de la requete de selection
    $requete="SELECT * FROM jeux video ORDER BY Titre";
    //execution de la requete et recuperaton du pointeur sur le jeu d'enregistrements
    $jeu=mysqli_query($requete)
    //parcours du jeu d'enregistrements
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/xhtml11.dtd">
    <html xmlns="http://www.w3.org/1999/xthml11">
    <head>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8"/>
    <title>Liste des jeux video</title>
    </head>
     
    <body>
    <table border="2" cellpadding="5" cellspacing="0">
    <tr>
    <!--en tête-->
    <th>Titre</th>
    <th>Date de sortie</th>
    <th>Genre</th>
    <th>Support</th>
    <th>Prix</th>
    </tr>
    <?php
    while ($enregistrement=mysqli_fetch_array($jeu)){
    echo"<tr>
    <!--affichage des champs-->
    <td>".$enregistrement["Titre"]."</td>;
    <td>".$enregistrement["Date_de_sortie"]."</td>;
    <td>".$enregistrement["Genre"]."</td>;
    <td>".$enregistrement["Support"]."</td>;
    <td>".$enregistrement["Prix"]."</td>;
    </tr>";
    }
    ?>
    </table>
    </body>
    </html>
    Et une nouvelle erreur:

    Fatal error: Non-static method mysqli::select_db() cannot be called statically in C:\wamp\www\connexion.php on line 6
    Je suis désolé si mes questions peuvent paraître bête ou n'importe quoi d'autre, je sens de l'ironie chez toi, Bovino, mais nous sommes vraiment débutant là-dedans, c'est un projet pour le bac et notre prof ne veux pas nous aider (et il ne connaît pas mysqli...)

Discussions similaires

  1. Réponses: 0
    Dernier message: 03/04/2012, 18h19
  2. [PHP 5.3] [POO] erreur du serveur en local
    Par hinomi dans le forum Langage
    Réponses: 17
    Dernier message: 21/12/2009, 08h24
  3. [SQL] OK en local erreur sur serveur !
    Par tremeur53 dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 06/11/2007, 11h15
  4. serveur local Easyphp
    Par Covax dans le forum Débuter
    Réponses: 3
    Dernier message: 05/04/2004, 12h37
  5. Erreur sur serveur lié
    Par k-lendos dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 18/03/2004, 15h21

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