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 :

Version PHP obsolète


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Homme Profil pro
    .
    Inscrit en
    Avril 2016
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Avril 2016
    Messages : 108
    Points : 49
    Points
    49
    Par défaut Version PHP obsolète
    Bonjour,

    Actuellement en stage dans le cadre d'une formation de Développeur d'applications, nous devons avec un collègue modifier certaines informations d'un site.
    Nous avons donc repris la BDD du site ainsi que les fichiers sur wamp afin de faire en 1er lieu les modifications en local.

    Notre problème est que le site utilise une version ancienne de php avec beaucoup de function obsolète comme mysql_connect , mysql_fetch_array .. ce qui nous empeche de se connecter correctement a la base de donnée et d'utiliser les requêtes.


    Etant débutant nous aimerions savoir si quelqu'un peut nous éclairer sur la manière de procédé dans ces cas la.
    Merci pour le temps que vous prendrez afin de nous éclairer.

    Cordialement,

  2. #2
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Salut,

    tu as posté ta question sur le mauvais forum (ici c'est le .NET, pas le PHP).

    Pour pas que tu aies fait le voyage pour rien (mais suffisait de demander à google) : les fonctions d'accès base de remplacement sont peu ou prou les mêmes, mais avec le préfixe mysqli_ au lieu de mysql_. Tu as aussi la possibilité d'utiliser PDO, mais perso je ne connais pas (à vrai dire le PHP en général c'est pas trop mon truc).

    Bon stage.
    Plus je connais de langages, plus j'aime le C.

  3. #3
    Membre du Club
    Homme Profil pro
    .
    Inscrit en
    Avril 2016
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Avril 2016
    Messages : 108
    Points : 49
    Points
    49
    Par défaut
    D'accord désolé pour le mauvais post je pense qu'il sera déplacé sous peu alors.

    Bien sur google à été le 1er ami à qui j'ai demandé de l'aide , le problème est que nous avons modifier le fichier connexion, et sois nous avons des messages d'erreur sur la connexion , soit nous arrivons à avoir tout le html mais avec des messages d'erreur sur tous les éléments qui proviennent de la BDD en nous disant que les variables ne sont pas défini ou "Warning : mysql_query() expects parameter 2 to be resource".

    Sachant que nous ne devons pas à la base toucher le code mais simplement afficher des infos supplémentaires sur certaines pages venant de la BDD.

    Si quelqu'un a un début de piste nous sommes toujours preneur.
    Cordialement,

  4. #4
    Membre éprouvé Avatar de Momoth
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2013
    Messages
    318
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 318
    Points : 1 236
    Points
    1 236
    Par défaut
    Ca remonte à loin, la dernière fois que j'ai fais du PHP et j'ai jamais trop dépassé le stade du débutant.

    Personnellement, pour debugger (à mon avis, aujourd'hui on doit trouver mieux), je mettais un echo entre chaque ligne de PHP pour afficher les contenus de mes variables au fur et à mesure et voir jusqu'où j'allais dans mes scripts.

    Ca peut peut être t'aider.
    La Triforce du développement : Fainéantise, Curiosité et Imagination.

  5. #5
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Je suis pas sûr que le topic soit déplacé au bon endroit par un modo, à ta place je reposterais sur le bon fofo pour être sûr.

    Pour ton pb : en fait tu ne veux pas passer à MySQLi ou PDO_MySQL, c'est juste que tu as changé quelques info à un endroit et maintenant ça ne fonctionne plus, j'ai bon ? Pour ton warning c'est écrit "le 2ème param de l'appel à mysql_query est tout pourri". Pour info ce deuxième param est censé être la connexion (renvoyée par mysql_connect), donc soit tu lui passes une connexion moisie (et c'est l'appel à mysql_connect qui est la nouille dans le potage), soit tu lui passes rien et il tente une connexion par défaut qui -logiquement- fail.

    PS : je pense qu'avec un peu de code ce serait plus simple de trouvé le souci.
    Plus je connais de langages, plus j'aime le C.

  6. #6
    Membre du Club
    Homme Profil pro
    .
    Inscrit en
    Avril 2016
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Avril 2016
    Messages : 108
    Points : 49
    Points
    49
    Par défaut
    Très bien je le déplacerais après.

    Nom : connexion.PNG
Affichages : 219
Taille : 8,9 Ko

    En fait à la base on a rien changer, en arrivant sur le ficher connexion.php on a juste changer les valeurs de $db afin de mettre les valeurs de localhost.
    On a eu des le debut ces erreurs :

    Nom : erreur.PNG
Affichages : 220
Taille : 108,0 Ko

    Suite à ca on a donc éditer le code afin d'avoir :

    $servername="localhost";
    $username="root";
    $password="";
    $dbname="happypeople";

    //Creation connection

    $db =mysqli_connect($servername,$username,$password,$dbname);

    et aussi essayer avec PDO.

    Mais avec cette méthode on a plus de html qui s'affiche, seulement un message d'erreur provenant d'un autre fichier :

    Warning: mysql_query() expects parameter 2 to be resource, object given in C:\wamp\www\HappyPeopleWorld2016\page\include\requete.php on line 96

    La ligne en question est celle la :
    $getFiveUtilisateurs = mysql_query($fiveUtilisateurs,$db) or die("Erreur sql $getFiveUtilisateurs");

    Apparemment il y avait une erreur dans la déclaration de parametre , en inversant les deux parametres l'erreur devient "expects parameter 1 to be string."

    On a du coup essayer de transformer le my_sql en my_sqli , inverser les paramètres et du coup nous avons les mêmes messages d'erreurs sur les requêtes suivantes une par une.

    Du coup on se demande si c'est un pb de connexion , ou un pb de commande obsolete qui faudrait remplacer ( sachant qu'il y en a énormément ) .

    Merci du temps que vous prenez pour nous aider

  7. #7
    Membre éprouvé Avatar de Momoth
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2013
    Messages
    318
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 318
    Points : 1 236
    Points
    1 236
    Par défaut
    Je viens de faire un tour sur la doc PHP pour mysql_query.

    Essayes de virer le $db de ton mysql_query (si ce parametre est omis, c'est la dernière connexion ouverte qui sera utilisée)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $getFiveUtilisateurs = mysql_query($fiveUtilisateurs) or die("Erreur sql $getFiveUtilisateurs");
    Si jamais ca passe, c'est que le problème vient peut être de ton $db (peut être qu'il est null). Du coup peut tu regarder ce qu'il contient au moment de ton mysql_query.

    Si jamais ca passe pas, c'est que le problème vient peut être de ton $fiveUtilisateurs. Peut tu nous montrer ce qu'il contient au moment du mysql_query.
    La Triforce du développement : Fainéantise, Curiosité et Imagination.

  8. #8
    Membre du Club
    Homme Profil pro
    .
    Inscrit en
    Avril 2016
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Avril 2016
    Messages : 108
    Points : 49
    Points
    49
    Par défaut
    En virant le $db de $getFiveUtilisateurs on nous retourne encore l'erreur :

    Deprecated: mysql_query(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in C:\wamp\www\HappyPeopleWorld2016\page\include\requete.php on line 96

    De plus je ne pense que ce soit la variable en elle même puisque en utilisant la commande "mysqli_query()" et en inversant les paramètres cette erreur disparaît de la ligne 96 pour remettre le même message sur la 97 donc sur la requête suivante qui est identique.

    Le site en ligne hébergé sur free n'a lui aucun problème, donc est ce que sur le serveur free il n'y a pas de problème car il autorise les anciennes versions de PHP alors qu'en local ces commandes sont obsolètes ?

Discussions similaires

  1. Problème antre ancienne version php/mysql et nouvelle
    Par yannicketolga dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 7
    Dernier message: 30/03/2006, 17h06
  2. [EasyPHP] Changer version PHP
    Par anto48_4 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 08/03/2006, 11h13
  3. [EasyPHP] [PHP4-MySQL4]Conflit de version php ou MySQL
    Par kuranes dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 6
    Dernier message: 17/11/2005, 12h04
  4. [Wamp] Quelles versions php/mysql/apache XP?
    Par Jean_Benoit dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 27/09/2005, 19h41
  5. [REDHAT] Mise à jour version PHP
    Par elagarde dans le forum RedHat / CentOS / Fedora
    Réponses: 4
    Dernier message: 14/10/2004, 17h14

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