2012-02-06 209 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; 
    }