尝试获取行数时,PDO上的fetchColumn错误

时间:2016-04-22 16:24:47

标签: php mysql pdo mysql-num-rows

我正在尝试迁移到PDO。

我想做一个经典查询来检查行数,在mysql中我会做mysql_num_rows_result但我已经读过某些地方,在PDO中它不起作用。

所以我尝试使用以下代码获取fetch列:

global $bdd;
            $login = $bdd->query("SELECT
                   COUNT
                    FROM spb_clients_acces_compte,
                         spb_clients_infos_generales
                    WHERE spb_clients_acces_compte.spb_clients_acces_compte_e_mail = '{$email}'
                    AND spb_clients_acces_compte.spb_clients_acces_compte_pwd_md5 = '{$pass}'
                    AND spb_clients_acces_compte.spb_clients_acces_compte_admin = 1");
            $reponse = $bdd->fetchColumn();
            if ($reponse == 0):

            elseif ($reponse == 1):

            else:
            endif;
            var_dump($reponse);

这回到我身边:

  

(!)致命错误:在第20行的C:\ wamp \ www \ spb2016 \ admin \ core \ login.php中调用未定义的方法PDO :: fetchColumn()

第20行是:$reponse = $bdd->fetchColumn();

我尝试了许多没有成功的事情

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

首先,您需要在COUNT功能中添加一列。 COUNT是一个mysql函数,它返回传递它的任何参数的数量,因此COUNT(id)可以工作。

其次,您必须使用PDOStatement才能获取结果。替换

$reponse = $bdd->fetchColumn();

$reponse = $login->fetchColumn();