我最近已經學會了準備語句的重要性,因此我正在着手將所有現有的mysqli查詢改爲PDO查詢。使用PDO準備好的語句和特定年份的佔位符,我無法迴應任何結果
我有一個表稱爲「民」與字段:name
和dob
(DATETIME),其中有這樣的數據:
name: Johnny
dob: 2016-12-06 18:30:00
我在一個PHP變量提供一年第一,例如:
$theyear=2016;
然後,使用這個例子,我試圖在2016年爲所有帶dob的人拉出所有名字並回顯它們,如下所示,但它沒有顯示任何結果(並且有很多):
$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的新手,我確信我做了一些愚蠢/不合邏輯的事情。
任何人都可以看到我的錯誤/幫助我在正確的方向?
https://stackoverflow.com/questions/11321491/when-to-use-single-quotes-double-quotes-and-backticks-in-mysql從技術上來說 –
和你的查詢沒有任何意義雖然。如果未設置仿真,則需要使用不同的名稱 –
需要在查詢前設置變量的值*,然後在*之後將查詢*中的值傳遞給它,簡而言之。實際上有很多方法可以做到這一點。 –