如何避免對SQL語句使用Heredoc字符串分隔符?或者更好的問題,在PHP中創建和調用SQL語句的現代方法是什麼?如何避免Heredoc SQL語句
我對PHP比較陌生。我經常看到這樣的事情在項目我工作:
$sql = <<<SQL
SELECT
`data`.`key`,
FROM `tableName`
ORDER BY `data`.`key`
SQL;
當研究更多關於定界符(我不得不使用SO symbol reference後發現這是什麼所謂)我的感覺是,有更好的方法制作SQL語句。對於Exapmle SO用戶來說,他們會使用Heredoc for SQL「back in the day」。
使用Heredoc似乎不是最好的解決方案,因爲格式更改很少可以mess it up。不能縮進結束標籤會使代碼更難讀取和格式化。這也似乎只是使用Heredoc鼓勵用SQL語句和邏輯亂丟代碼。
這只是'這樣做'或有更好的方法嗎?
This question about managing your SQL queries是來自6年前。 PDO or an ORM are mentioned in this answer從5年前。這些仍然是最好的方法嗎?
heredoc語句只是引用您的字符串而不使用引號的一種方式。你可以使用任何你喜歡的方法。當字符串中有多行時,Heredoc就很常見。 –
這是一件好事,SQL不關心這種陳舊的格式。 – user2864740
您不必使用heredoc - 您可以使用帶引號的字符串代替。 heredoc獲得的唯一東西是不必內部地逃脫引號。但是,如果您正在使用準備好的陳述,那麼您不應該經常需要那樣做。 –