Comment vérifier si l'entrée mysql est vide dans PhP?
ici est la description de la variable, je suis l'écho de ma table:
$description = mysql_result($result,$i,"description");
parfois le $i-ième enregistrement est vide et n'a pas de données/non description.
Ce que je veux faire est echo "Aucune description disponible" pour les enregistrements qui sont vides
if (isset($description)){ echo "No description available";}
else{ echo $desctipion;}
Ma tentative ne fonctionne pas bien, à l'époque, les échos Aucune description n'est disponible pour chaque enregistrement, même ceux qui ne sont pas vides.
Quelle est la réponse?
source d'informationauteur David Willis
Vous devez vous connecter pour publier un commentaire.
isset($description)
résultat sera vrai, car $description est toujours ensemble, même si sa valeur est "vide". Ce que vous devez utiliser est vide.Cela dépend de ce que tu veux dire.
mysql_result retourne
FALSE
sur la panne, ce qui arrive si vous avez spécifié une invalides (ligne,terrain). Pour vérifier ce que vous aimeriez faire usage de l'identité de l'opérateur===
qui vérifie à la fois la valeur et le type. L'opérateur d'égalité==
leempty()
de la fonction, et la condition de l'évaluation d'une instruction if vérifier la valeur, mais pas le type.Cela signifie que l'aide de l'une de ces méthodes, il n'y a pas de différence entre les différentes valeurs que tous les assimiler à
Boolean FALSE
comme les cordes à vide, des tableaux vides, la chaîne'0'
et la valeurNULL
.Donc, si vous voulez être vraiment sûr que vous pourriez faire quelque chose comme ce qui suit:
Depuis
empty()
retournetrue
sous un même ensemble de conditions à une égalité (==
) avecFALSE
ce plus strict dans votre type de vérification est particulièrement importante dans les cas où le résultat pourrait en fait être"0"
.Apparemment, je ne suis pas autorisé à poster plus d'un lien hypertexte, donc je n'étais pas en mesure de relier à la documentation pour les opérateurs de comparaison ("http://php.net/manual/en/language.operators.comparison.php") ou la fonction vide ("http://php.net/empty"). Heureusement, leur sécurité est relativement laxiste. Mwuh Ah!
Utiliser le
mysql_affected_rows
fonction: