Почему SQL-запрос возвращает значение, если предложение where является целым числом с нулем? - PullRequest
1 голос
/ 18 октября 2019

у меня есть тип поля mysql, его имя - код, а тип - int (11)он все еще находит запись с полем кода со значением 0. Почему это должно произойти? Я, вероятно, должен добавить, что поле кода является уникальным ключом в MySQL.

1 Ответ

1 голос
/ 18 октября 2019

Предполагая, что ваша таблица является пользователем, вы должны установить параметр столько раз, сколько вам нужно, например:

$dql = "SELECT u.id, u.password, u.lastLoginIp, u.lastLoginDate 
    FROM User u WHERE u.status = '1' AND (u.code = :n0 OR u.email = :n1 OR u.secretKey = :n2)";
     $query = $this->_em->createQuery($dql);
     $query->setParameter('n0', $this->username);
     $query->setParameter('n1', $this->your_code);
     $query->setParameter('n2',  $this->your_key);
     $query->setMaxResults(1);
     $results = $query->getArrayResult();
     print_r($results);
...