Недавно я узнал о важности подготовленных операторов, поэтому я приступаю к изменению всех моих существующих запросов mysqli на запросы PDO.
У меня есть таблица под названием «люди» с полями с именами name
и dob
(DATETIME), в которых есть такие данные, как:
name: Johnny
dob: 2016-12-06 18:30:00
Сначала я указываю год в переменной PHP, например:
$theyear=2016;
Затем, используя этот пример, я пытаюсь получить все имена людей с доб в 2016 году и повторить их, как показано ниже, но это не отображает никаких результатов (а их много):
$stmt = $pdo->prepare("SELECT * FROM people WHERE `dob` BETWEEN ':theyear-01-01' AND ':theyear-12-31'");
$stmt->execute(['theyear' => $theyear]);
while ($row = $stmt->fetch()) {
echo $row['name'] . "<br/>";
}
Будучи новичком в PDO, я уверен, что сделал что-то глупое/нелогичное.
Может ли кто-нибудь увидеть мою ошибку / помочь мне двигаться в правильном направлении?