2012-02-06 207 views
0

我一直在做一些朋友問我的東西。他爲他的查詢使用ezsql,而且我對它很新。雖然我在同一個項目中使用它。爲什麼ezSQL返回空結果集

這裏是數據庫列和數據清楚地看到它 enter image description here

和代碼的失敗哪部分:

$customsql = new ezSQL_mysql(); 
    $customsql->query("SET NAMES 'utf8'"); 
    $customsql->query("SELECT * FROM uyeler WHERE email='".escape($_POST['eposta'])."' AND sifre='".escape($_POST['sifre'])."'"); 
    if($customsql->num_rows>0){ 
     if($customsql->onay=='1'){ 
      //Things to do if user is activated. 
     }else{ 
      $hata='Onay:'.$customsql->onay.' -Error: Bu eposta adresiyle kayıtlı onaylanmamış bir kullanıcı var. Lütfen epostanızı onaylayın.'; 
      $_SESSION['loggedin']=FALSE; 
     } 

「onay」是數據庫VARCHAR。 這裏是結果: enter image description here

雖然它在註冊過程中工作,但它爲什麼不在這裏工作?

在此先感謝。

回答

1

我發現了這個問題。上面有兩個錯誤。

1-將查詢結果分配給一個變量。

2-「get_results」如果你期望從你的查詢不止一行。 (「get_row」如果你只想要一個行「get_var」如果查詢只有一個列,而不是*)

這裏是你應該如何使用它,你需要從結果查詢:

$customsql = new ezSQL_mysql(); 
$customsql->query("SET NAMES 'utf8'"); 
$yourvariable=$customsql->get_row("SELECT * FROM uyeler WHERE email='".escape($_POST['eposta'])."' AND sifre='".escape($_POST['sifre'])."'"); 
if($customsql->num_rows>0){ 
    if($yourvariable->onay=='1'){ 
     //Things to do if user is activated. 
    }else{ 
     $hata='Onay:'.$customsql->onay.' -Error: Bu eposta adresiyle kayıtlı onaylanmamış bir kullanıcı var. Lütfen epostanızı onaylayın.'; 
     $_SESSION['loggedin']=FALSE; 
    }