Bir durumunu ayarlamak için nasıl

3 Cevap php

here i've a problem where i want to set the status whether it is approved or reject.. the condition are if admin select the registration number and driver name, that means the status is approve otherwise, if admin fill up the reason, that means the request is reject.. here is the code to set status

if ($reason =='null'){

                $query2 = "UPDATE usage SET status ='APPROVED' WHERE '$bookingno'=bookingno";
                $result2 = @mysql_query($query2);
    }
    elseif (($regno =='null')&&($d_name =='null')) {

                $query3 = "UPDATE usage SET status ='REJECT' WHERE '$bookingno'=bookingno";
                $result3 = @mysql_query($query3);
    }

i verileri kaydetmek zaman, durum güncellemeleri alan değil ..

3 Cevap

İki şey:

(1) 'null' (tırnak işaretleri ile) bir dizedir. Kullanmak is_null() , isset() {[(5)], daha iyisi, ya da - muhtemelen sadece null (ve bir identity rather than an equality onay istiyorum) } (sizin durumda daha uygun hangisi).

(2) Eğer, status alanında, harf hakkı var emin olun (ki olması gereken) bir ENUM() olduğunu. Normalde bu önemli, ama olmamalı tablo ikili karakter kodlaması (*_bin Collation), olacak her türlü ayarlı ise.

Size fıkra hatalı biçimlendirilmiş nerede var, öyle görünüyor. Bu değiştirin:

$query2 = "UPDATE usage SET status ='APPROVED' WHERE '$bookingno'=bookingno";

Bunun için:

$query2 = "UPDATE usage SET status ='APPROVED' WHERE bookingno='$bookingno'";

(Her ikisi de $query2 ve $query3 için).

O bunu düzeltmek yoksa bakın.

Bu yaratılmış oldu gibi bu çözmek için çok kolay bir yol sorgu dizesi oturum olacaktır

if ($reason =='null'){

    $query2 = "UPDATE usage SET status ='APPROVED' WHERE '$bookingno'=bookingno";
    $result2 = @mysql_query($query2);
    error_log($query2);

}
elseif (($regno =='null')&&($d_name =='null')) {

            $query3 = "UPDATE usage SET status ='REJECT' WHERE '$bookingno'=bookingno";
            $result3 = @mysql_query($query3);
            error_log($query3);
}

Sonra sorgu mysql kullanıyorsanız, veritabanı yerel veya phpmyadmin karşı sorgu çalıştırmak sonra işe yaramazsa eğer bir hata alırsanız bakın ...., php hata günlüğü dosyası oluşturulan sorgu dizesi kontrol edin. bazen talimatlara ve bu günlük dosyası ile ortaya çıkacak gibi varibales doldurmak olmadığını göreceksiniz.