Помощь с PDO Query - PullRequest
       1

Помощь с PDO Query

0 голосов
/ 06 мая 2011


Я пытаюсь создать запрос, который будет сравнивать электронные письма с адресами из таблицы и возвращать количество найденных совпадений.

Что у меня есть

$checkMail = $this->_filteredData['AccountEmail'];
$query = "SELECT count(*) FROM AccountDetails WHERE AccountEmail=?";
$values = array($checkMail);
$this->_DBO->runSelectQuery($query, $values, true);

/////// This is In A Different Class
public function runSelectQuery($query, $values = array(), $returnResults = false)
{
    $sth = $this->_DBO->prepare($query);
    $sth->execute($values); 
}

Завершение

Моя проблема в том, что я не знаю, как закончить, мне нужно выяснить, сколько совпадений найдено.
Будет только 1 совпадение, если оно есть, так как электронные письмауникален в таблице, поэтому он либо возвратит 0, либо 1. Если он вернет единицу, мне также нужно получить другие данные из таблицы, значение пароля и номер идентификатора.

Я не знаю, если этоэто правильный способ сделать это, поэтому любые отзывы будут оценены.
Спасибо
Крис

Ответы [ 2 ]

1 голос
/ 06 мая 2011

вам нужно использовать

$count = $sth->fetchColumn()

чтобы получить возврат из оператора выбора

Я не уверен, что вы хотите, чтобы $ returnResults содержал в нем, но это может быть просто то, что я положил в переменную $ count

1 голос
/ 06 мая 2011

Просто укажите пароль и значение идентификатора в одном запросе.Он будет либо возвращать результат, либо не будет, если совпадений нет.

$ query = "SELECT id, пароль FROM AccountDetails WHERE AccountEmail =? LIMIT 1";

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...