[RESOLU] aide php mysql pour jpgraph

Petit nouveau ! | 9 Messages

16 janv. 2013, 12:44

??


Faut il que le change le code ?
je suis un peu perdu
L ancien marche

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

16 janv. 2013, 13:13

le problème soulevé, au départ, cc'est qu'a un moment un autre l'extension mysql n'existera plus donc problème (fonction qui n'existe plus etc etc).

Donc pour préparer ton code "à l'avenir" il serait préférable d'utiliser mysqli ou PDO.

si tu utilise l'extension mysql, le plus simple pour toi c'est de passer à mysqli.
=> ajoute un i dans les noms de fonctions + la ressource de connexion en second paramètre (c'est un raccourcis, regarde la doc pour plus d'info mais l'idée est la).


globalement c'est pas forcément pour tout de suite, la doc indiqué dépréciée depuis PHP 5.5 (qui n'est encore qu'au stade de l'alpha donc y a un peu de marge) et il n'y a pas de "dead line" indiqué dans la doc
Avertissement
Cette extension est obsolète depuis PHP 5.5.0, et sera supprimée dans le futur. À la place, les extensions MySQLi ou PDO_MySQL doivent être utilisées. Voir aussi le guide MySQL : choix de l'API ainsi que la FAQ associée pour plus d'information. Voici les alternatives à cette fonction :

mysqli_query()
PDO::query()
@+
Il en faut peu pour être heureux ......

Petit nouveau ! | 9 Messages

16 janv. 2013, 14:22

Tu pourrais me donner un exemple pour ce bout de code de ce que j aurais a remplacer

$colname_info_general = "-1";
if (isset($_GET['n_ident'])) {
  $colname_info_general = $_GET['n_ident'];
}
mysql_select_db($database_reptiles, $reptiles);
$query_info_general = sprintf("SELECT * FROM nos_reptiles WHERE n_ident = %s", GetSQLValueString($colname_info_general, "text"));
$info_general = mysql_query($query_info_general, $reptiles) or die(mysql_error());
$row_info_general = mysql_fetch_assoc($info_general);
$totalRows_info_general = mysql_num_rows($info_general);

ViPHP
AB
ViPHP | 5818 Messages

16 janv. 2013, 16:45

Tu pourrais me donner un exemple pour ce bout de code de ce que j aurais a remplacer
C'est pas que ce bout de code que tu devras remplacer mais toutes les requêtes de ton site, sinon ça sert à rien.

Alors si tu es au début de ton développement je te conseille, quitte à écrire du code, d'utiliser mysqli (pour une transition facile par rapport à mysql) plutôt que mysql et de revenir sur ce qui a déjà été fait pour mise en conformité vers mysqli. Si par contre tu en es vers la fin de ton développement tu peux terminer avec mysql et tu pourras mettre à jour l'ensemble de ton code plus tard.

En même temps y'a pas urgence non plus. En fait avec mysql tu n'auras pas de problèmes d'hébergement avant de très nombreuses années donc ton site pourra continuer à fonctionner car évidemment les hébergeurs proposeront pendant encore des lustres une version php5 où l'on peut activer la vielle extension mysql pour compatibilité avec la foultitude des sites qui ont été faits avant la dépréciation de cette extension. Donc pas de soucis de ce côté là avant très très longtemps.
C'est par contre plus gênant pour les sites qui sont souvent en évolution dans le sens où si l'extension mysql n'est plus disponible avec php 5.5, tout nouveau prochain code ajouté devra se limiter aux fonctions et classes compatibles php 5.4 (qui permet d'utiliser l'extension mysql) en excluant donc les nouvelles fonctions et classes php qui seront développées à partir de php 5.5.
Voilà les données du problème.
Modifié en dernier par AB le 16 janv. 2013, 18:19, modifié 1 fois.

Petit nouveau ! | 9 Messages

16 janv. 2013, 17:14

ok je te remercie de ta reponse mon site est fini juste 2-3 babiole a faire donc je laisse comme ca.

Merci

Eléphant du PHP | 120 Messages

19 janv. 2013, 13:23

Super, applaudissements... Si PHP a déprécié MySQL, ce n'est pas juste pour faire joli et les hébergeurs qui ne permettent pas l'utilisation de PDO ou mysqli sont très rares (à titre personnel - à part pour PHP4 - j'en connais pas). Surtout qu'il est plus facile de se pencher MAINTENANT sur du code qu'on connait que dans deux ans en catastrophe sur du code qu'on ne connait plus bien du tout parce que le code génère des erreurs ou ne marche plus.

ViPHP
AB
ViPHP | 5818 Messages

19 janv. 2013, 22:46

Super, applaudissements... Si PHP a déprécié MySQL, ce n'est pas juste pour faire joli et les hébergeurs qui ne permettent pas l'utilisation de PDO ou mysqli sont très rares (à titre personnel - à part pour PHP4 - j'en connais pas). Surtout qu'il est plus facile de se pencher MAINTENANT sur du code qu'on connait que dans deux ans en catastrophe sur du code qu'on ne connait plus bien du tout parce que le code génère des erreurs ou ne marche plus.
Argumente Perine, argumente :) parce qu'il n'y a pas d'arguments solides dans ces propos.

1/ Oui alors pourquoi PHP a déprécié MySQL, on aimerait bien savoir... (attention à la réponse piège) :wink:

2/ Aux dernières nouvelles il y a peu de FAI qui implémentent PDO et mysqli (je peux me tromper car je ne suis pas cette actu en temps réel mais ce ne doit pas être la règle générale) et concernant les hébergeurs professionnels j'ai été obligé de partir de chez seconde.fr pour quelques vieux sites qui me restaient chez eux parce que justement ils ne proposaient ni l'un ni l'autre et que je voulais mettre à jour avec mon dernier code générique.

3/ Deux ans, tu rigole ? Je veux bien parier 100 000 euros que dans 10 ans les sites utilisant mysql seront encore visibles et certainement pour longtemps encore. As-tu lu ma précédente réponse ?

4/ Dans deux ans ou plus il est probable que repro-reptiles ait acquis plus d'expérience et donc passer vers mysqli ou pdo sera d'autant plus facile. Quand c'est pas urgent autant prendre un peu de recul et d'expérience avant de tout modifier. Et puis l'interface utilisée n'entre pas en jeu dans l'algo de développement et donc avec quelques rechercher/remplacer on peut mettre à jour vers mysqli sans absolument aucun problème (et pour aller vite c'est mieux de bien connaître son sujet).

Bon pas de malentendus : je ne prêche pas pour qu'on continue à utiliser mysql sur de nouveaux projets. Mais pour ceux qui sont déjà faits faut pas non plus crier à la catastrophe et angoisser les gens, ils ont largement le temps de voir venir. Les inconvénients je les ai cités dans mon précédent message mais ça s'arrête là, et ne fais pas croire ou sous-entendre au gens que leur site sera invisible d'ici deux ans car c'est faux. Il y a aussi des notions de priorité dans la vie et si l'on a pas trop de temps, les priorités se concentrent sur ce qui est réellement urgent, c'est aussi simple que cela. :wink:

Eléphant du PHP | 120 Messages

20 janv. 2013, 17:26

Je n'y suis pour rien si tu n'arrives pas à choisir un hébergeur de qualité et que tu ne tombes que sur des mauvais. Même les hébergeurs pas chers comme one.com ou 1&1 proposent PDO et mysqli. D'ailleurs inutile de m'assener que les gens utilisent uniquement l'hébergeur de leur FAI, c'est une minorité.

Les raisons de l'abandon sont multiples. Tu n'as qu'à aller voir la discussion du RFC en question. Tout hébergeur correct sera sous PHP5.5 dans deux à trois ans.

Ce que je veux dire, c'est qu'il ne faut pas dédramatiser la question parce que c'est ce genre de comportement qui inhibe l'avancée technique.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

20 janv. 2013, 17:54

Tout hébergeur correct sera sous PHP5.5 dans deux à trois ans.
php 5.5 étant encore qu'en alpha 3 on va rester sur un php 5.4 pour le moment se sera bien ^^

1and1 à supprimer php 4 par défaut que depuis peu de temps et propose toujours, et propose toujours dans l'administration php 4, php 5.2 (plus soutenu depuis longtemps), 5.3 et 5.4.

Donc, on peu conseiller la mise à jour, mais ce n'est pas la peine d'envenimer un sujet sur 40 pages pour cela vu que l'on n'y peu rien.

De plus les contrainte du à du code plus qu'obsolète est réelle, les gens ayant une appli qui fonctionne n'on pas forcément envie d'y toucher (voir pire de payer pour ;) ).


@+
Il en faut peu pour être heureux ......

ViPHP
AB
ViPHP | 5818 Messages

21 janv. 2013, 00:17

Ce que je veux dire, c'est qu'il ne faut pas dédramatiser la question parce que c'est ce genre de comportement qui inhibe l'avancée technique.
Si justement il faut dédramatiser...

Et non cela n'inhibe en rien l'avancée technique, ça impose juste aux hébergeurs d'avoir plusieurs versions de php, ce qu'ils font depuis toujours à l'exception des plus petits qui ne proposent d'ailleurs souvent qu'une version obsolète (par ex php 5.2). Les plus gros (1and1, ovh...) proposant plusieurs versions allant de php 4 jusqu'à la dernière version stable de php5.

En plus si l'extension mysql est dépréciée en php 5.5 cela ne veut pas dire pour autant qu'elle est supprimée. On parle plutôt de supprimer l'extension mysql vers php 5.7.

L'utilisation de l'extension mysql à donc comme inconvénient qu'on ne pourra pas - à moins évidemment de faire une mise à jour vers mysqli ou pdo - utiliser les nouvelles fonctions ou classes php qui seront disponibles avec première version de php qui ne supportera plus l'extension mysql soit aux alentours de la version php 5.7.

Alors deux hypothèses avec l'utilisation de mysql :

- Soit on a un site qui évolue peu et dans ce cas ce n'est pas gênant pratiquement car on pourra le laisser sur le même hébergement pendant encore des lustres et des lustres sans aucun souci.

- Soit c'est un site avec une mise à jour du code plus fréquente et on sera limité par le fait de ne pas pouvoir utiliser les nouvelles fonctions qui seront spécifiques aux versions php5.7 et supérieures (soit des fonctionnalités qui sortiront d'ici minimum trois quatre ans ou plus...). Et si vraiment on a besoin de les utiliser on pourra toujours mettre son code à jour vers mysqli et cela ne prendra pas plus de temps de le faire plus tard que de faire la mise à jour maintenant.

Donc je ne vois pas très bien où est le drame là dedans :?:

Autant pour du nouveau code je t'appuie sur le fait qu'il vaut mieux conseiller d'utiliser les nouvelles extensions, autant pour du code déjà fait il n'y a pas lieu de dramatiser car il n'y a ni urgence ni nécessité immédiate. A t'entendre on dirait que c'est une priorité absolue et qu'il faudrait s'y mettre toute affaire cessante. Laisses les gens respirer, ils n'ont peut-être pas tous les mêmes priorités que toi. Pour sûr, on a pas la même définition du mot "drame" tous les deux :wink:

Et j'ai bien envie d'ajouter, que si c'est ça que tu appelles un drame, l'ambiance doit être chaude chez toi :lol:

Eléphant du PHP | 120 Messages

21 janv. 2013, 11:53

Où parle-t-on de PHP5.7 ? Il est même assez improbable qu'il y ait une version 5.7, il est même possible qu'il n'y ait pas de 5.6 et qu'on passe tout de suite à la 6. Quel bluff incroyable.
Et moi, je parle bien évidemment du code pas encore écrit et celui qui est en cours d'écriture. Celui qui a commencé un projet en 2012 n'a pas la moindre raison - à part d'avoir vécu dans une bulle étanche aux informations de PHP - d'avoir choisi cette extension dépréciée.
D'ailleurs pour ceux qui vont commencer leur projet en 2013 et qui ont pissé 200 lignes de code, vous n'allez pas leur conseiller de changer.

Et pour ta gouverne : déprécié, ce n'est pas un petit problème passager, c'est du code qui produit un message d'erreur. Ah mais oui, solution magique : on désactive les messages d'erreur et de préférence, on ne met rien dans les logs parce que chaque appel de page aura cette vilaine note dont on se fiche pas mal jusqu'à ce qu'il faille le changer en catastrophe. :roll:

Alors j'arrête de poster dans ce sujet parce que les murs changent rarement d'avis.

ViPHP
AB
ViPHP | 5818 Messages

21 janv. 2013, 23:34

Où parle-t-on de PHP5.7 ? Il est même assez improbable qu'il y ait une version 5.7, il est même possible qu'il n'y ait pas de 5.6 et qu'on passe tout de suite à la 6. Quel bluff incroyable.
PHP 5.7 c'est pour dire deux versions après php5.5. En d'autres termes il est possible que la version suivant la version 5.5 supporte encore l'extension mysql (bien que dépréciée). Et quand bien même ce serait la prochaine version qui suivra la 5.5, ça laisse largement le temps de voir venir. J'ai dis cela en pensant à cet article. En tant que bluff incroyable, j'ai connu bien pire :)

Une fois qu'on a informé correctement les gens, c'est à eux ensuite de gérer leurs priorités et leur emploi du temps comme ils l'entendent.

L'emploi de termes excessifs comme "buff incroyable", "changer en catastrophe" et la dramatisation de tes propos ne sert en rien ta bonne cause. Quel mots emploierais-tu ensuite pour prévenir d'une catastrophe réellement imminente et réellement dangereuse ? Quand on crie trop souvent au loup... tu connais la suite, ce n'est pas les gens qui sont devenus sourds mais précisément toi qui a construit un mur d'incompréhension entre toi et eux :wink: