【问题标题】:fetchAll a non objectfetchAll 一个非对象
【发布时间】:2016-01-11 12:20:14
【问题描述】:

我的 fetchAll 使用此代码出现非对象错误:

var_dump($_POST);

include('config_path.php');
$bdd->query("SET NAMES 'utf8'");
$req = $bdd->prepare("SELECT * FROM admin WHERE nom_uti_admin= :username AND mdp_admin=:password");
$result = $req->execute(array(
    'username' => $_POST['username'],
    'password' => $_POST['password']
));
$connect = $result->fetchAll();

var_dump 返回最后一页表单的正确值... 您对错误有任何想法吗? 该请求在 phpmyadmin 中适用于 true 值!

谢谢

编辑:

以下验证码:

if(isset($_POST['username']) && isset($_POST['password'])){
    if(count($connect) == 1){
        $_SESSION['auth'] = $cle;
        $_SESSION['username'] = $_POST['username'];
        header("Location: admin/afficher_spec.php");
    }else if(count($connect) == 0){
        echo 'nom d\'utilisateur et/ou mot de passe incorrect !';
    }
}else {
    echo 'Veuillez remplir tous les champs ';
}

【问题讨论】:

  • 您使用的是 while 还是 foreach 循环?
  • 嗯...试试fetchAll(PDO::FETCH_ASSOC)
  • 相同,不起作用:/
  • 另外请添加您的循环代码
  • 哦,是的,no 不是 foreach,我只测试返回的 $connect 是否包含某些内容

标签: pdo


【解决方案1】:

如果你想使用 foreach 循环遍历它,你只能使用fetchAll。在您的情况下,您只需要返回一条记录,因此您需要使用 fetch

$connect = $result->fetch(PDO::FETCH_ASSOC); 
if(count($connect) == 1){$_SESSION['auth'] = $cle;
        $_SESSION['username'] = $_POST['username'];
        header("Location: admin/afficher_spec.php");
    }else if(count($connect) != 1){
        echo 'nom d\'utilisateur et/ou mot de passe incorrect !';
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-05
    • 1970-01-01
    • 1970-01-01
    • 2012-11-04
    • 2021-05-12
    • 2014-11-23
    • 1970-01-01
    • 2012-09-01
    相关资源
    最近更新 更多