Я пытаюсь проверить, возвращает ли метод в моем классе истинное значение. Пожалуйста, посмотрите мой объект ниже класса и скажите мне, является ли это действительным заявлением. Я использую это, чтобы проверить, существует ли адрес электронной почты в базе данных.Метод проверки возвращает true
Мой класс и его конструктору
class CheckEmail {
public function __construct($email) {
$db = Database::GetHandler();
$sql = "SELECT email from users WHERE email='$email'";
$stmt = $db->prepare($sql);
$stmt->execute();
$rows = $stmt->rowCount();
if($rows > 0) {
return true;
} else {
return false;
}
}
}
Мой объект из этого класса:
if($checkEmail = new CheckEmail($_POST[email])==true) {...
Это не так, как ООП должна работать. Если вы хотите функцию, которая возвращает 'true' или' false', тогда создайте функцию. Я не знаю, что делает PHP, когда вы не возвращаете объект из конструктора, но даже если он возвращает логическое значение, это плохой дизайн. –
Вы ** широко открыты ** для SQL-инъекции. Научитесь делать правильный подготовленный запрос с PDO, или ** вы будете взломаны **, если вы еще не были. – Brad
Возможный дубликат [Echo Return construct method;] (http://stackoverflow.com/questions/3254279/echo-return-construct-method), [Можно ли построить конструкцию?] (Http: // stackoverflow.com/questions/6821288/is-it-ok-for-a-construct-to-return-something) – jprofitt