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

fetchColumn error on PDO while trying to get number of rows

我正在尝试转到 PDO。

我想做一个检查行数的经典查询,在 mysql 我会做 mysql_num_rows_result 但我在某处读到它在 PDO 中不起作用。

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

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);

这个 return 给我 :

( ! ) Fatal error: Call to undefined method PDO::fetchColumn() in C:\wamp\www\spb2016\admin\core\login.php on line 20

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

我试过很多东西都没有成功

如有任何帮助,我们将不胜感激。

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

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

$reponse = $bdd->fetchColumn();

$reponse = $login->fetchColumn();