robin778 Posté 2 Octobre 2012 Posté 2 Octobre 2012 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.
Message populaire. Dan Posté 2 Octobre 2012 Message populaire. Posté 2 Octobre 2012 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 1
Dan Posté 2 Octobre 2012 Posté 2 Octobre 2012 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.
robin778 Posté 2 Octobre 2012 Auteur Posté 2 Octobre 2012 ok, merci pour ces précieuses réponse. Quelques nuits studieuses en perspective !
SStephane Posté 2 Octobre 2012 Posté 2 Octobre 2012 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.
b0b0 Posté 2 Octobre 2012 Posté 2 Octobre 2012 Merci pour ces infos, j'avais raté le log d'update ...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant