Во время нового процесса регистрации пользователя я пытаюсь найти, является ли имя пользователя или электронная почта пользователя уже в db. Для этого я хочу найти количество строк, в которых идентификатор (адрес электронной почты или имя пользователя) соответствует записям в базе данных. Если я не испортил, возможны только возвращаемые значения: 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()
, но это будет массив справа?
Вы можете использовать ->fetchColumn(0)
чтобы получить столбец 1 и только из следующего (одного и того же) набора строк.
if ( $query->fetchColumn(0) > 0 ){ return false; } else return true;
(Примечание: я не тестировал это, и у меня не установлен PHP на моей рабочей машине, чтобы проверить его, я работаю в магазине C # / Java)
Вероятно, вам нужно $query->fetchColumn();
Вы также можете передать номер нужного столбца, но по умолчанию он равен столбцу 0.