[請益] PDO bindparam設定資料型態的意義?

看板PHP作者 (貝爾菲格諾)時間10年前 (2015/10/31 21:29), 編輯推噓0(007)
留言7則, 1人參與, 最新討論串1/1
最近學PDO遇到的問題 PDO的bindParam函數可指定資料型態和長度 但不管值是否符合指定的資料型態,不是都可以被execute嗎? 測試了一下 $reslut->bindparam(':height',$height,PDO::PARAM_INT,12); 指定型態為整數 但就算我輸入值是英文字母也可以成功insert into 那這樣指定資料型態和長度的意義是? 不如就不設定反正他會根據值去自動設定不是嗎 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.238.185.109 ※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1446298151.A.059.html

10/31 23:47, , 1F
預設是PARAM_STR, 實際的狀況是
10/31 23:47, 1F

10/31 23:47, , 2F

10/31 23:49, , 3F
上面的錯了, 應該是 http://tinyurl.com/pzbpu8k
10/31 23:49, 3F

10/31 23:50, , 4F
PARAM_STR 除了 null 外會轉 string
10/31 23:50, 4F

10/31 23:51, , 5F
PARAM_INT 會把 bools 轉成 longs
10/31 23:51, 5F

10/31 23:52, , 6F
PARAM_BOOL 會把 longs 轉成 bools
10/31 23:52, 6F

10/31 23:54, , 7F
然後其他就....交給 DB 處理了....
10/31 23:54, 7F
文章代碼(AID): #1MDC8d1P (PHP)
文章代碼(AID): #1MDC8d1P (PHP)