[RESOLU] aide php mysql pour jpgraph

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] aide php mysql pour jpgraph

Re: [RESOLU] aide php mysql pour jpgraph

par AB » 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:

Re: [RESOLU] aide php mysql pour jpgraph

par Perine » 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.

Re: [RESOLU] aide php mysql pour jpgraph

par AB » 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:

Re: [RESOLU] aide php mysql pour jpgraph

par moogli » 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 ;) ).


@+

Re: [RESOLU] aide php mysql pour jpgraph

par Perine » 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.

Re: [RESOLU] aide php mysql pour jpgraph

par AB » 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:

Re: [RESOLU] aide php mysql pour jpgraph

par Perine » 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.

Re: [RESOLU] aide php mysql pour jpgraph

par repro-reptiles » 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

Re: [RESOLU] aide php mysql pour jpgraph

par AB » 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.

Re: [RESOLU] aide php mysql pour jpgraph

par repro-reptiles » 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);

Re: [RESOLU] aide php mysql pour jpgraph

par moogli » 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()
@+

Re: [RESOLU] aide php mysql pour jpgraph

par repro-reptiles » 16 janv. 2013, 12:44

??


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

Re: [RESOLU] aide php mysql pour jpgraph

par AB » 14 janv. 2013, 05:27

Par contre, comme proposé Perine (même si la façon de le dire n’était pas top), il serait bien d'indiquer que les mysql_* sont obsolètes (voire pourquoi pas faire 1 épinglé avec les équivalences mysql_*, mysqli_*, PDO). Comme ça tout le monde est content :D
Bah on en parlait surtout quand la doc php n'était pas à jour. Mais cela fait maintenant plusieurs mois que des encadrés sont dans toutes les fonctions mysql, alors on a baissé un peu la garde. Normalement on est là pour donner des exemples qui complètent ou qui expliquent un peu la doc mais pas pour s'y substituer. Après les débutants qui ne regardent jamais la doc resteront à jamais des débutants et ils auront les mêmes résultats que tous ceux qui font un truc occasionnel à l'arrache, c'est à dire ni optimisé ni pérenne (et ça vaut dans tous les domaines).

Ensuite si l'on donne parfois encore des exemples avec l'ancienne extension c'est simplement parce que c'est ce qui est toujours actuellement le plus connu.
Par exemple, si dunbar avait donné une syntaxe pdo on avait deux chances sur trois d'avoir en réponse "c'est quoi ça ?". Ensuite de donner un lien vers la doc, puis de re préciser "si tu ne connais pas poo utilises plutôt mysqli qui propose une transition plus facile en procédural". Et pour peu que le débutant soit sur un hébergement amateur (ce qui est souvent le cas quand on débute), ben c'est retour à la case départ car il est très possible que ni l'une ni l'autre des extensions ne soit installée, avec en prime pas mal de temps perdu pour tout le monde. On connaît ce manège par coeur et à la longue c'est fatiguant. L'ancienne extension est plus universelle dans le sens où ceux qui utilisent pdo ou mysqli auront vite fait de faire les adaptations nécessaires. Et pour les débutants qui n'ont pas la motivation nécessaire pour regarder au moins une fois la doc, c'est leur problème.

Cela dit, comme tu l'as compris, on a rien contre ceux qui font une piqure de rappel sur les bonnes extensions à utiliser, bien au contraire. Ce n'est pas parce qu'on est fatigué de rabâcher toujours la même chose qu'on va snober ceux qui ont encore l'énergie de le faire. Mais comme tu l'as compris aussi, il y a l'art et la manière de le faire. Et pour préciser ma pensée un message du type "je rappelle au passage que l'extension mysql est dépréciée, utiliser si possible pdo ou mysqli" - sans mentionner le message d'aide car ce n'était précisément pas le sujet abordé ici - aurait été le bienvenu et n'aurait suscité aucune réaction de personne :wink:

Re: [RESOLU] aide php mysql pour jpgraph

par sam12 » 14 janv. 2013, 01:31

Ok donc si mysql_real_escape_string n'a pas de failles et les mysqli_* sont équivalents (niveau sécu) à la PDO, il n'y a donc pas de soucis à utiliser les mysql_* pour les explications.
Par contre, comme proposé Perine (même si la façon de le dire n’était pas top), il serait bien d'indiquer que les mysql_* sont obsolètes (voire pourquoi pas faire 1 épinglé avec les équivalences mysql_*, mysqli_*, PDO). Comme ça tout le monde est content :D

Re: [RESOLU] aide php mysql pour jpgraph

par AB » 13 janv. 2013, 21:57

Vu qu'on a carrément déraper, je vais en profiter pour poser 2 petites questions qui feront avancer peut-être les choses ;).
Est-ce qu'il y a eu des failles détectées sous mysql_real_escape_string?
Est-ce que mysqli_real_escape_string() équivaut à un prepare PDO? Si non, lequel est le plus puissant?

Merci.
Ce serait mieux d'ouvrir un autre sujet.
Basiquement mysql_real_escape_string est inefficace si tu fais ça :
$sql = "SELECT * FROM toto WHERE id=".mysql_real_escape_string($_GET['titi']);
Il faut toujours entourer par des quotes ou doubles quotes par exemple :
$sql = "SELECT * FROM toto WHERE id='".mysql_real_escape_string($_GET['titi'])."'";
Concernant mysqli et pdo
- mysqli_real_escape_string() est l'équivalent de la méthode quote de pdo
- mysqli_prepare en mode procédural ou $mysqli->prepare en mode objet sont l'équivalent de la méthode $pdo->prepare de PDO

La préparation d'une requête demande toujours un peu plus de temps (niveau serveur et écriture du code). Initialement les requêtes préparées ont été prévues pour accélérer le temps de traitement sur des requêtes multiples (typiquement dans une boucle). On les utilise aussi souvent pour mieux sécuriser des données sensibles impossibles à contrôler car l'isolation des variables est mieux assurée par le bind.