在新用户注册过程中,我正在尝试查找用户名或用户电子邮件是否已在数据库中。为此,我想找到标识符(电子邮件或用户名)与数据库中的记录匹配的行数。如果我没有搞砸,唯一可能的返回值是0或1.我的功能如下,但我需要帮助来完成它。
function checkUserExists($userIdentifier, $tableColName){
$dbConnection=$this->dbInstance->createConnexion();
$query=$dbConnection->prepare("SELECT count(*) FROM users WHERE ".$tableColName."= :userIdentifier");
$query->bindParam(":userIdentifier", $userIdentifier);
$result=$query->execute();
if( ????? >0){
$return false;
} else return true;
}
愚蠢的我,我不知道如何获得那个计数。我想这是$query->fetch()
的一些变体,但那会是一个数组吗?
答案 0 :(得分:7)
(注意:我没有对此进行测试,也没有在我的工作机器上安装PHP来测试它;我在C#/ Java商店工作)
可能,你想要$query->fetchColumn();
您也可以传递所需的列号,但默认为第0列。
答案 1 :(得分:3)
您可以使用->fetchColumn(0)
从下一个(唯一的)行集中获取1和唯一列。
if ( $query->fetchColumn(0) > 0 ){
return false;
} else return true;