2012-02-06 10 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

問題が見つかりました。上記の2つの間違いがありました。

1クエリ結果を変数に割り当てます。

2 "get_results"クエリから複数の行が必要な場合。

$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; 
    } 
:(あなただけの1列の代わりに*を問い合わせる場合は、あなただけの1行と「get_var」をしたい場合は、「get_row」)ここで

はあなたからあなたが結果を必要とするクエリを使用する方法であります