Car le truc du while($truc= 'machin')
Cela je l'ai compris pendant ce Topic et seul je ne l'aurais pas compris si vite, ça c'est certain
Bref, ++
ben si ca a à voir, ca n'a aucun interet de faire while((assertion) !== false) parceque ca équivaut à while((assertion)) et pour les raisons que j'évoquais, c'est quoi la différence selon toi?Heu, je parle pas de mécanique mais de ré-utilisation des acquis. Cela n'empêche pas de consulter la doc, ni de faire des cas particuliers.écrire du code mécaniquement parceque php marche comme ça généralement, c'est pas défendable,
Moi je te parle d'unje suis d'accord que c'est la bonne façon de faire dans 90% des cas (tester l'erreur plutot que la réussite c'est très sain et infiniment plus logique) seulement un while c'est un if, mais un if qui boucle jusqu'à ce qu'on le break ou que la condition passe à false, on ne devrait jamais écrire while((something) == true) parceque ca n'a aucun sens tout simplement.
while((assertion) !== false)
rien à voir
ca marche pas ton code, dois-je installer mysql pour que ca marche?je m'en doutais alors je le fait pour toipaltemps, pis j'ai pas utilisé mysql avec php depuis plus longtemps encore que mere T, travailler avec des webservices c'est beaucoup plus fun, surtout quand on code aussi le webservice
$link = mysql_connect('127.0.0.1', 'root'); $query = mysql_query('SELECT COLLATION_NAME FROM information_schema.COLLATIONS LIMIT 2') or exit(mysql_error()); var_dump(mysql_fetch_assoc($query)); var_dump(mysql_fetch_assoc($query)); var_dump(mysql_fetch_assoc($query)); /* array(1) { ["COLLATION_NAME"]=> string(15) "big5_chinese_ci" } array(1) { ["COLLATION_NAME"]=> string(8) "big5_bin" } bool(false) */
$sql = 'SELECT * FROM `table`';
$query = mysql_query($sql) or die('Erreur');
$row = mysql_fetch_assoc($query) or var_dump($row);
echo $row["champ"] . '<br>';
// var_dump() retourne: bool(false)
Oui mais le mysql_fetch_array ? $sql = 'SELECT * FROM `table`';
$query = mysql_query($sql) or die('Erreur');
$row = mysql_fetch_array($query) or var_dump($row);
echo $row["champ"] . '<br>';
// var_dump() retourne: bool(false)
ca marche pas ton code, dois-je installer mysql pour que ca marche?
d'accord j'ai installé mysql, mais dois-je installer php aussi ou bien je peux le faire avec notepad?
Ah, vous l'avez provoqué, va falloir faire avec maintenant.d'accord j'ai installé mysql, mais dois-je installer php aussi ou bien je peux le faire avec notepad?
Tu devrais cocher "résolu" sur cette bonne réponseOn essaye la technique de la zen attitude
$row = mysql_fetch_array($query) or var_dump($row);
echo $row["champ"] . '<br>';
// var_dump() retourne: bool(false)
Je me dis tiens c'est bizarre, car le var_dump() ne stop pas l'exécution du script donc pourquoi je ne me rappelle pas avoir eu d'erreur ensuite pour: echo $row["champ"]<?php
$row = false;
echo $row["champ"] . '<br>';
var_dump($row["champ"]); // retourne: NULL
?>
Ok , c'est normal -> car aucune erreur non plus, mais je n'avais jamais remarqué...
Normalement, ce code devrait t'afficher un NOTICE.<?php $row = false; echo $row["champ"] . '<br>';
<?php
error_reporting(-1);
$row = false;
echo $row["champ"] . '<br>';
var_dump($row["champ"]); // Retourne: NULL
?>
Je viens de tester comme ceci, et aucune erreur non plus en PHP 5.2.6.
pour un int ou un booléen pas d'erreur, pour les strings/array/object oui, donc manifestement c'est tellement ahurissant qu'il a pas de mots pour l'expliquerJe viens de tester comme ceci, et aucune erreur non plus en PHP 5.2.6.<?php error_reporting(-1); $row = false; echo $row["champ"] . '<br>'; var_dump($row["champ"]); // Retourne: NULL ?>
Mais je trouve ça étonnant aussi, je vais tester sur un autre serveur.
[EDIT]
Autre serveur pareille mais aussi en dessous de 5.3.
[EDIT 2]
Version Php: 5.3.2 -> aucune erreur non plus.
Donc en effet, cela peut vraiment prêter a confusion sur le type de la valeur de retour.
(true c'est pareil et donc ils se comportent dans ce cas précis comme si $row = null;)
La seule chose, c'est d'espérer que Php le gère bien, c'est tout.
Sinon, si il y a une explication logique, cela m'intéresserais de la connaitre