作者coldollsheep (拿出我的駭客靈魂)
看板PHP
標題[請益] PHP 中SQL寫法?
時間Tue Jan 15 08:15:25 2019
近日跟同事討論SQL在PHP內的呈現方式
有一種比較隨意
$sql = "
select *
from table
";
有一種也滿常看到的...
$sql = "select *";
$sql.= "from table";
請問有甚麼優劣之分嗎?? 感恩回答
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.216.69.234
※ 文章網址: https://webptt.com/m.aspx?n=bbs/PHP/M.1547511328.A.436.html
1F:→ kattte: 應該還有一種 $sql = "夭..壽..長..的..SQL"; 01/15 10:28
2F:→ MOONRAKER: 熟手應該可以放心用多行的引號了 不熟就不要用 01/15 12:28
3F:→ MOONRAKER: 多行引號沒有什麼不好 缺點是如果不小心亂按又沒有用 01/15 12:29
4F:→ MOONRAKER: 版控工具幫你找code差在哪裡 可能會不小心亂打些有的 01/15 12:30
5F:→ MOONRAKER: 沒的到SQL某一列後面 而自己無法發覺 01/15 12:30
6F:→ MOONRAKER: 拆成多行 起碼亂打在尾巴的通常php可以抓出來 01/15 12:31
7F:→ MOONRAKER: 不過插到中間的一樣抓不到 01/15 12:32
8F:→ cf1064: 換行要注意在關鍵字之間的空白,比如from的前後要空白 01/15 15:17
9F:推 dou0228: 差不多一樣慘,看一下 CodeIgniter 的 Query Builder 吧 01/15 17:29
10F:→ MOONRAKER: 偶爾也是會用到沒有query builder好用。 01/15 17:59
11F:→ MOONRAKER: 而且CI的query builder到底什麼時候才要支援括號 01/15 18:00
12F:推 knives: 都是垃圾 01/15 23:42
13F:推 KKFN: 通常喜歡夭壽長,但是超出我的 Wrap 就會手動斷行 01/16 02:32
14F:推 Jerr: 怎沒人推 $heredoc = <<<__UGLY_SQL_STATEMENT__ 01/16 14:13
15F:→ Jerr: SELECT ..... 01/16 14:13
16F:→ Jerr: FROM ... 01/16 14:14
17F:→ Jerr: LEFT JOIN ... 01/16 14:14
18F:→ Jerr: LEFT JOIN ... 01/16 14:14
19F:→ Jerr: WHERE .... 01/16 14:14
20F:→ Jerr: GROUP BY ... 01/16 14:14
21F:→ Jerr: ORDER BY ... 01/16 14:14
22F:→ Jerr: __UGLY_SQL_STATEMENT__; 01/16 14:14
23F:→ DirtyVegas: 樓上的不就navicat自動產出的樣子嗎 01/16 21:08
24F:→ shadowjohn: 我有個同事喜歡把SQL語法獨立在文字檔作樣版 01/17 08:23
25F:→ shadowjohn: 最後流量一大,IO就炸了 lol 01/17 08:24
26F:→ shadowjohn: 這寫法大家都還滿喜歡的,照SA文件幾之幾對照語法 01/17 08:32
27F:→ shadowjohn: 後來小改就解決了:) 01/17 08:33
28F:推 bill0205: 之前我幹過select from where order by group by having 01/17 19:20
29F:→ bill0205: 全部拆開來寫 然後最後用$sql = $select . $from . 01/17 19:20
30F:→ bill0205: $where .....; 01/17 19:21
31F:→ JohnRoyer: 遇過 4 KB 的 SQL 覺得都還好 XD 01/18 21:23
32F:推 mcmj5566: 直接用ORM漂過... 01/19 09:10
33F:→ laechan: 寫長一點讓同事無法一看就懂也是一種樂趣 02/17 10:30
34F:→ stanma: 看用途吧,有些時候你會有固定的SQL,但會因為不同條件加 09/28 20:43