$sql= " SELECT poids, date FROM croissance WHERE poids != 'NULL' ";
$req = mysql_query($sql) or die('<p>Erreur SQL !'.$sql.mysql_error().'</p>');
WHILE ($row = mysql_fetch_array($req))
{
$ydata[] = $row['poids'];
$xdata[] = $row['date'];
}
Ce que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.Je sais pas mais, faudrait peut-être penser à ne plus induire les gens en erreur en proposant des solutions se basant sur l'extension dépréciée MySQL, non ?Salut,
Quelque chose comme ceci :
Exemple:$sql= " SELECT poids, date FROM croissance WHERE poids != 'NULL' "; $req = mysql_query($sql) or die('<p>Erreur SQL !'.$sql.mysql_error().'</p>'); WHILE ($row = mysql_fetch_array($req)) { $ydata[] = $row['poids']; $xdata[] = $row['date']; }
Autant pour moi, je ne le savais pas, je ne l'utilise plus depuis longtemps.
Je sais pas mais, faudrait peut-être penser à ne plus induire les gens en erreur en proposant des solutions se basant sur l'extension dépréciée MySQL, non ?
Ce que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.
On s'en tape un peu, c'est un exemple générique.Je sais pas mais, faudrait peut-être penser à ne plus induire les gens en erreur en proposant des solutions se basant sur l'extension dépréciée MySQL, non ?
On s'en tape un peu, c'est un exemple générique.Je sais pas mais, faudrait peut-être penser à ne plus induire les gens en erreur en proposant des solutions se basant sur l'extension dépréciée MySQL, non ?
A mon avis cela va durer encore longtemps simplement parce que l'ancienne extension est la plus rapide à écrire et donc plus rapide pour donner des exemples. Reste ensuite à adapter le code à l'extension réellement utilisée. Imagine le boulot si on devait donner des exemples avec mysqli + pdo sans compter que pour les débutants ce serait peut-être incompréhensible...
Pour résumé c'est aux utilisateurs que tu dois donner le conseil de si possible (car par exemple mysqli ou pdo ne sont pas encore disponibles chez tous les hébergeurs) ne plus utiliser l'extension mysql, pas à ceux qui donnent le principe du code. A moins que tu n'aies une solution standard à proposer...
Ce que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.
Le mot "contreproductif" n'est pas adapté dans ce contexte.Non, je pense que donner des mauvais exemples est contreproductif. Du code écrit avec PDO est aussi vite écrit qu'avec l'extension MySQL et montre bien qu'il ne faut pas utiliser MySQL.
Ce n'est pas parce que la majorité des débutants font mal les choses qu'il faut les encourager à les faire. Dorénavant, c'est PHP qui imposera le bon style de code, ce n'est pas moi - même si sur divers forums où je suis active, ça fait deux ans que j'avertis systématiquement les gens de ne plus utiliser cette extension. Mais celui-ci est le premier où on est aussi farouchement opposé de s'adapter à l'avenir.Par ailleurs, la grande majorité des débutants commencent par développer un site avec l'hébergement que propose leur FAI. Donc si l'on imposait telle ou telle "nouvelle" extension en tant que modèle encore faudrait-il s'assurer que celle-ci soit supportée par tous ces hébergeurs gratuits. As-tu vérifié si c'est le cas ? Sinon un exemple impossible à mettre en place est pour le moins contre productif.
Les débutants font avec les outils qu'ils ont à leur disposition. Si PDO n'est pas activé sur leur serveur ce n'est pas leur choix et l'on est bien obligé de faire avec pour leur permettre de progresser dans leur code.Ce n'est pas parce que la majorité des débutants font mal les choses qu'il faut les encourager à les faire.Par ailleurs, la grande majorité des débutants commencent par développer un site avec l'hébergement que propose leur FAI. Donc si l'on imposait telle ou telle "nouvelle" extension en tant que modèle encore faudrait-il s'assurer que celle-ci soit supportée par tous ces hébergeurs gratuits. As-tu vérifié si c'est le cas ? Sinon un exemple impossible à mettre en place est pour le moins contre productif.
Regarde la date de ce message, il a presque trois ans...Dorénavant, c'est PHP qui imposera le bon style de code, ce n'est pas moi - même si sur divers forums où je suis active, ça fait deux ans que j'avertis systématiquement les gens de ne plus utiliser cette extension. Mais celui-ci est le premier où on est aussi farouchement opposé de s'adapter à l'avenir.
Ce serait mieux d'ouvrir un autre sujet.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.
$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
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).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