0

我一直在做一个朋友问我的事情。他正在使用 ezsql 进行查询,我对它很陌生。虽然我在同一个项目中使用它。

这是数据库列和数据,可以清楚地看到 在此处输入图像描述

以及失败的代码部分:

    $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。结果如下: 在此处输入图像描述

虽然它在注册过程中工作,但为什么在这里不起作用?

提前致谢。

4

1 回答 1

1

我发现了问题。上面有2个错误。

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;
    }
于 2012-02-08T19:25:59.877 回答