日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

pdo 参数化查询 mysql函数_PDO笔记之参数化查询

發布時間:2023/12/1 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pdo 参数化查询 mysql函数_PDO笔记之参数化查询 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

參數化查詢解釋在這里:Wiki參數化查詢?(少有的Wiki中文比英文介紹的要詳細的編程條目)

PDO中參數化查詢主要用到prepare()方法,然后這個方法會返回一個PDOStatement對象,也就SQL聲明(不知道怎么翻譯),此時SQL語句只是被編譯,但并未執行,調用PDOStatement中方法后會執行SQL語句,如下示例:

$sm = $db->prepare('SELECT login_oid FROM logined WHERE user_id=:user_id;');

$sm->bindValue(':user_id', $user_id, PDO::PARAM_INT);

$sm -> execute();

在execute()執行前,就可以調用bindValue()或者bindParam()方法替換之前準備的SQL語句中的你指定參數了,在SQL語句中指定參數有兩種方式:':name'和'?',上面代碼中的用的是前一種,后一種的方式是:

$sm = $db->prepare('SELECT * FROM fruit WHERE calories < ?;');

$sm->bindValue(1, $calories, PDO::PARAM_INT);

$sm->execute();

bindValue()有三個參數,第一個指定要替換掉SQL語句中哪一個參數,第二個指定替換后的值,第三個指定值的類型,類型對應如下:

PDO::PARAM_BOOL

布爾類型

PDO::PARAM_NULL

NULL類型

PDO::PARAM_INT

整數類型

PDO::PARAM_STR

字符串類型如 CHAR, VARCHAR, string

PDO::PARAM_LOB

資源類大對象,如文件等

PDO::PARAM_STMT

不知道

PDO::PARAM_INPUT_OUTPUT

這個好像是擴展類型

里面沒有提供實數類型,這個很詫異

再說說execute()這個方法,它本身也可以做參數替換,但是它會把所有值的類型都變成字符串類型,如下

$sm = $db->prepare('SELECT * FROM fruit WHERE calories < ?;');

$sm->execute(array($calories));

多參數替換如下

$sm = $db->prepare('SELECT * FROM fruit WHERE calories < ?, id < ?;');

$sm->execute(array($calories, $user_id));

總結

以上是生活随笔為你收集整理的pdo 参数化查询 mysql函数_PDO笔记之参数化查询的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。