[請益] 請問這段 SQL 如何解譯 ?

看板PHP作者 (Sophia)時間8年前 (2015/07/29 19:22), 編輯推噓10(10027)
留言37則, 12人參與, 最新討論串1/1
// 建立新增記錄的SQL指令字串 $sql ="INSERT INTO students (sno, name, address, "; $sql.="birthday) VALUES ('"; $sql.=$_POST["Sno"]."','".$_POST["Name"]."','"; $sql.=$_POST["Address"]."','".$_POST["Birthday"]."')"; echo "<b>SQL指令: $sql</b><br/>"; 想請問以上 $sql 變數設定該如何解譯.. ? 一句 INSERT INTO..要拆成四行設定 $sql 是因為 每 POST 一個欄位值要設定成一變數嗎 ? 可第二行裡沒有 POST.. 連接運算子. 要連接後面三行該如何思考..? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.137.212.87 ※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1438168928.A.971.html

07/29 19:57, , 1F
沒這回事 他根本拆得亂七八糟
07/29 19:57, 1F

07/29 19:57, , 2F
而且post變數沒過濾直接放進sql指令裡很危險
07/29 19:57, 2F

07/29 20:21, , 3F
1.這就只是一行太長隨意切成很多行而已
07/29 20:21, 3F

07/29 20:21, , 4F
四行接起來才是完整的一句 SQL
07/29 20:21, 4F

07/29 20:22, , 5F
2.二樓講的很重要, 除非這是教學用程式碼不然千萬別這樣寫
07/29 20:22, 5F

07/29 20:37, , 6F
如果是用pdo就沒差
07/29 20:37, 6F

07/29 20:37, , 7F
還在拼接SQL…去學PDO吧!
07/29 20:37, 7F

07/29 20:38, , 8F
直接拼接連PDO都防不了,要用bind的
07/29 20:38, 8F

07/29 20:38, , 9F
就老式很無聊的接法一枚
07/29 20:38, 9F

07/29 21:25, , 10F
會這樣拼寫是因為有條件要判斷才會這樣接
07/29 21:25, 10F

07/29 21:25, , 11F
不然通常是一行到底拼完
07/29 21:25, 11F

07/29 23:47, , 12F
這好幾年前的了吧 可以找找看pdo方便很多
07/29 23:47, 12F

07/29 23:47, , 13F
另外二樓說的很危險可以查查看SQL INJECTION
07/29 23:47, 13F

07/30 05:49, , 14F
是的, 這是教學書的範例, 可是沒有拆寫成這樣的解說..原
07/30 05:49, 14F

07/30 05:49, , 15F
也想是接起來才完整, 如 t大說的 "有條件要判斷才會這樣
07/30 05:49, 15F

07/30 05:50, , 16F
接, 所以我想知道拆成這樣四行該如何解讀..會去搜 PDO
07/30 05:50, 16F

07/30 10:04, , 17F
你看的書應該很舊了,建議找比較新的書來學
07/30 10:04, 17F

07/30 19:58, , 18F
這本是旗標的新觀念PHP.MySQL.AJAX 網頁設計範例教本 V4
07/30 19:58, 18F

07/30 19:59, , 19F
2014.02 出版, 請問會舊嗎 ? 可否推薦..謝謝
07/30 19:59, 19F

07/31 01:10, , 20F
這本看起來就是從ASP時代到現在萬年不變 改個標題就出
07/31 01:10, 20F

07/31 01:11, , 21F
來騙錢。你記得以下幾個關鍵字: 上面提到的PDO, escape
07/31 01:11, 21F

07/31 01:13, , 22F
prepared statement, ORM。基礎學一學就趕快打聽打聽
07/31 01:13, 22F

07/31 01:31, , 23F
書是有誤,但仍有黃金屋~一本不夠,多看幾本吧~
07/31 01:31, 23F

07/31 01:43, , 24F
沒錯多看幾本 還有不要亂看野blog 看英文的php.net或
07/31 01:43, 24F

07/31 01:43, , 25F
stackoverflow卡實在
07/31 01:43, 25F

07/31 09:24, , 26F
不好意思, 我錯了, 想不到2014/02居然還有這種教學@@
07/31 09:24, 26F

07/31 09:43, , 27F
這本很爛+1,丟了它吧(不要送人捐圖書館
07/31 09:43, 27F

07/31 09:59, , 28F
sql 指令在 php 裡作的就是「組字串」這件事,「.=」是
07/31 09:59, 28F

07/31 09:59, , 29F
變數後連接下個字串,POST是接受前一頁傳來的值,只要
07/31 09:59, 29F

07/31 09:59, , 30F
你php字串跟sql指令分的清,隨便你怎麼組,但這教學拆
07/31 09:59, 30F

07/31 09:59, , 31F
的零零落落的不是個好範例
07/31 09:59, 31F

08/01 00:11, , 32F
謝謝各位指教, 我這本就是借圖書館的書, 因為不知到底哪
08/01 00:11, 32F

08/01 00:13, , 33F
本真的有幫助, 已陸續從圖書館看了幾本..請問可否實際推
08/01 00:13, 33F

08/01 00:14, , 34F
薦哪一本大家覺得較實在內容的 PHP教學書, 我好依此參考
08/01 00:14, 34F

08/01 00:15, , 35F
相關方向去找..來站內信也可以.. 謝謝各方幫忙, 當然也會
08/01 00:15, 35F

08/01 00:16, , 36F
搜尋看看以上提到的關鍵字
08/01 00:16, 36F

08/04 11:47, , 37F
新手嗎? isbn:9789866840401 php+mysql深入淺出
08/04 11:47, 37F
文章代碼(AID): #1LkBTWbn (PHP)