作者wawawa (哇哇哇○( ̄﹏ ̄)○)
看板PHP
標題Re: [心得] PHP裡單引號('')跟雙引號("")的差別
時間Thu Mar 2 17:02:09 2006
※ 引述《ottokang (貓貓的大玩偶)》之銘言:
: ※ 引述《sonicjr (平凡中的不平凡)》之銘言:
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
: 如果你的軟體有好用的高亮度編輯 就可以把.去掉
: $sql = "select * from member where name = '$name' and pw = '$pw'";
: 我的感覺是這樣比較清楚 比較不會被一堆.搞混 當然這個喜好隨個人
: 另外我手上有一本書說使用單引號速度會比較快 因為不用檢查字串是否為變數
: 例如可以用單引號包的純字串 : '我是字串' 就不要用雙引號: "我是字串"
: 但是我的感覺好像是沒有差別>.< 也沒有看過手冊有寫這種建議
: 不知道有沒有強者有找到相關的資料?
我在一開始學的時候也是使用ottokang大的用法
可是寫到後來某一天吃了疑似型別轉換的悶虧(當時在趕進度,所以沒時間check)
所以後來我都是用
$str = sprintf("select * form xxx where name='%s'", $username);
這樣子其實可以更清楚,而且型別也很明確,給各位作參考。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.16.1.95
※ 編輯: wawawa 來自: 163.16.1.95 (03/02 17:02)
推 grassboy2:很推這招!不過這招的效率會有浪費嗎?好奇… 03/02 17:05
推 ileadu:我聽某此高手也說要這樣用耶 真神奇... 03/02 17:10
→ ileadu: 些 03/02 17:11
推 ottokang:好方法! 03/02 17:19
推 andreli:這種做法跟Dreamweaver的一樣,補充一下。 03/02 18:00
推 fillano:型別明確有一個好處,是減少sql injection攻擊的機會 03/02 23:10
推 fillano:因為通常id是整數,如果不檢查型別,讓字串可以代替id 03/02 23:13
→ fillano:用'0 UNION x,y,z....'代替,這樣無論如何都會有result喔 03/02 23:14
推 wawawa:sql injection php預設免疫:p magic quotes的副作用:ppp 03/03 00:43
推 ails:為何不用 PEAR:DB 然後用bind就好了 03/04 12:57