なぜezSQLは空の結果セットを返すのですか?

私は友人が私に尋ねたことに取り組んできました。彼は自分の質問にezsqlを使用しています。私はかなり新しいです。私は同じプロジェクトでそれを使用しましたが。

Here is the database columns and data to see it clearly 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" is varchar in database. And here is the result: enter image description here

それは登録プロセスで働いている間、なぜそれはここで動作しないのですか?

前もって感謝します。

0

1 答え

私は問題を発見した。上記の2つの間違いがありました。

1-照会結果を変数に割り当てます。

2 - "get_results"クエリから複数の行が必要な場合。 (get_rowは1行のみを必要とし、get_varは*の代わりに1つの列を照会する場合)

次の結果が必要なクエリを使用する方法は次のとおりです。

$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
追加された
PHP - 日本のコミュニティ [ja]
PHP - 日本のコミュニティ [ja]
4 参加者の

このグループではPHPについて話します。 パートナー:kotaeta.com