MySQL tablo hücresinin değerine göre bir IF deyimi yapmak nasıl?

1 Cevap php

Ne yapabilirim bir mysql tablo hücresinin değerine göre deyimi eğer. Örneğin, bir sütun denilen marital_status insanların bir tablo var. Bu sütun, iki değerlerden birine sahiptir: evet veya hayır. Ama bu işe yaramazsa:

$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.";
}

$ MaritalStatus "evet" tam olarak bu hücredeki değer olsa bile gerçek olarak dönmez ==.

1 Cevap

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 , 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 ""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: