Eğer SQL sorgusu tarafından döndürülen verilerin her satırında çalışmak istiyorsanız, size while döngü içinde durumunuz koymalısın - sorgunun excution tarafından döndürülen hatları üzerinden hangi dolaşır:
$query = mysql_query("SELECT marital_status FROM people WHERE first_name = 'John'");
while ($row = mysql_fetch_assoc($query)) {
$maritalStatus = $row['marital_status'];
if ($maritalStatus == "yes") {
echo "This person is married.";
}
else {
echo "This person is NOT married.";
}
}
If this doesn't help, it could be useful to check :
- Sorgu aslında sonuç döndürürse
- Bu sonuçlar ne düşündüğünü aslında eğer bunlar.
Bu var_dump a>, bir değişkenin içeriğini dökümü kullanılarak yapılabilir. Örneğin, sizin durumunuzda, sen kullanabilirsiniz:
$query = mysql_query("SELECT marital_status FROM people WHERE first_name = 'John'");
while ($row = mysql_fetch_assoc($query)) {
var_dump($row); // Will display the content of $row
}
Bir dipnot düşmek gibi, sen $ maritalStatus yankılanan strong> ""Yes sizi alır bir açıklama söyledi.
If there is a Y sizin veritabanında büyük harf, o kod : you are testing for "yes "küçük harflerle başarısız nedeni budur.
PHP, dize karşılaştırmaları için == operatörünü kullanarak uppercase letters and lowercase letters are considered as different characters.
Eğer bir harf duyarsız bir şekilde karşılaştırmak istiyorsanız, ya gerekecek: