Aller au contenu
robin778

Passage de PHP5.2 à PHP5.3 et mysql_db_query()

Noter ce sujet :

Recommended Posts

Bonjour à tous,

Selon notre hébergeur, il est temps de passer nos serveurs de PHP5.2 à PHP5.3

Si j'ai bien compris http://www.php.net/m...ncompatible.php avec PHP 5.3 on ne peux plus utiliser

mysql_db_query()

, il faut utiliser à la place

mysqli_query()

Ou pour être plus précis,

mysqli_select_db()

pour sélectionner la bdd puis

mysqli_query()

pour faire la requête...

De la même manière

mysqli_connect()

à la place de

mysql_connect()

et

mysqli_num_rows()

à la place de

mysql_num_rows()

, etc...

first question : Pouvez-vous me confirmer cela ? (que mysql_db_query() ne fonctionne plus avec PHP5.3)

Si c'est le cas je m'embarque dans un jolie petit cauchemar car il va y avoir des centaines de pages à mettre à jour et à tester...

second question : Avec mysql_db_query() on pouvait spécifier la base de donnée directement dans le premier paramètre de la fonction. Très utile et simple pour nous car dans une même page nous pouvons faire des requêtes sur 4 ou 5 bases de données différentes.

Est ce que le fait de systématiquement sélectionner la base de donnée avec mysqli_select_db() puis faire la requête mysqli_query() va consommer plus de ressources que l'ancien mysql_db_query() ?

Et a l'inverse, est ce que j'y gagne vraiment à faire le moins de mysqli_select_db() possible ?

Merci une fois de plus pour votre aide et vos réponses !

R.

Partager ce message


Lien à poster
Partager sur d’autres sites

Les accès aux bases de données avec mysqli sont plus performants. Donc tu devrais y gagner, même si cela représente un travail non négligeable.

Pense aussi remplacer tous les ereg* ...

Voici un document bien fait qui liste ce qu'il faut changer : article-migration-php53.pdf

  • Vote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Pour info, les fonctions telles que mysql_db_query() fonctionnent toujours en php 5.3, mais comme elles sont obsolètes, elles vont générer des warnings dans tes logs.

Partager ce message


Lien à poster
Partager sur d’autres sites

En développement, tu peux faire un error_reporting = E_ALL (ou error_reporting(E_ALL); )

Tout ce qui lève un E_DEPRECATED est déprécié ET déconseillé, ie les fonctions que tu cites, mais aussi bien d'autres (ereg ...)

Si ça génère E_DEPRECATED, ça fonctionne toujours, mais ça ne fonctionnera bientôt plus dans les futures branches de PHP (5.4 par exemple). Tant que tu restes sur la même branche, a priori tu n'auras pas de problème.

Le meilleur moyen de les détecter est de les afficher et les éliminer une par une.

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci pour ces infos, j'avais raté le log d'update ... ;)

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

×