Tout comme Sephi-Chan le suggère implicitement par rapport à Kassak je teconseil d'utiliser exit() plutot que die() qui est un alias et comme chacun le sait les alias, il faut les éviter car à court ou à long terme celui-ci peut être appelé à disparaître.
De plus die() contrairement à exit() ne stop pas l'éxécution du script et laisser un script continuer alors que celui-ci obtient des erreurs dès le départ n'est pas rigoureux du tout.
Personnellement je pousse les vérifications à son maximum, je conditionne tout ce qu'il est possible.
Exemple :
De plus die() contrairement à exit() ne stop pas l'éxécution du script et laisser un script continuer alors que celui-ci obtient des erreurs dès le départ n'est pas rigoureux du tout.
Personnellement je pousse les vérifications à son maximum, je conditionne tout ce qu'il est possible.
Exemple :
Code PHP :
<?php
/**
* Ton code
*/
$retour = mysql_query('SELECT COUNT(*) AS nbre_entrees FROM connectes WHERE ip=\'' . $_SERVER['REMOTE_ADDR'] . '\'');
$donnees = mysql_fetch_assoc($retour);
/**
* Ton code conditionné
* Note toutefois le false ===
* C'est obligatoire car le COUNT(*) peut retourner 0 et
* celui-ci sera évaluer comme un booléen ce qui donnerait un résultat inattendu
*/
$sSQL = "SELECT COUNT(*) AS nbre_entrees ".
"FROM connectes ".
"WHERE ip = '".$_SERVER['REMOTE_ADDR']."'";
if(false === ($retour = mysql_query($sSQL))) {
// Si la requête ne pause pas de souci, on peut utiliser les valeurs retournées
/**
* Rappel de Sephi-Chan, merci :) Comme quoi il fait pas bon d'écrire si tard...
* On test si la requête retourne plus de 0 ligne
*/
if(mysq_num_rows($retour) === 1) {
$donnees = mysql_fetch_assoc($retour);
// La suite de ton code...
} else {
echo "<p>Erreur : Moins d'une ou plusieurs lignes retournées !?</p>";
}
} else {
// Sinon on a une erreur SQL
exit("<p><strong>Requête SQL :</strong> ".$sSQL."<br />".
"<strong>Numéro d'erreur :</strong> ".mysql_errno()."<br />"
"<strong>Message d'erreur :</strong> ".mysql_error()."</p>");
}
Il va de soit que la condition else ne doit en aucun cas apparaître sur le site en production, d'ailleurs aucun message d'erreur qu'elle qu'il soit ne doit apparaître en production hormis ceux personnalisé, n'oublions pas toutefois le logging des erreurs rencontrées.
Exemple :
Citation :Une erreur inattendue est survenue !
Veuillez nous excuser pour ce désagrément.
Si le problème persiste veuillez avertir un modérateur.