本文實例講述了php中bind_param()函數用法。分享給大家供大家參考,具體如下:
從字面上不難理解,綁定的參數;下面我通過一個綁定參數的例子講一下:
for example:
bind_param("sss", firstname,lastname, $email);
1. 該函數綁定了 SQL 的參數,且告訴數據庫參數的值。 "sss" 參數列處理其余參數的數據類型。s 字符告訴數據庫該參數為字符串。
參數有以下四種類型:
i - integer(整型)
d - double(雙精度浮點型)
s - string(字符串)
b - BLOB(布爾值)
每個參數都需要指定類型。
通過告訴數據庫參數的數據類型,可以降低 SQL 注入的風險。
2. 上面的firstname,lastname, $email傳的是引用,在php5.3之后是不能直接寫成字符串的,為了驗證這個結論,在此我寫了一段測試,如下:
$servername="localhost"; $username="root"; $password="admin"; $dbname="test"; $conn=new mysqli($servername,$username,$password,$dbname); if($conn->connect_error){ die("connected failed:".$conn->connect_error); } $sql="INSERT INTO user(user_first,user_last,age)VALUES(?,?,?)"; $stmt=$conn->prepare($sql); $stmt->bind_param("sss","xiao","hong",22); $stmt->execute(); echo "News records created successfully!"; $stmt->close(); $conn->close();
上面我寫了一段將參數直接寫成字符串的測試程序,運行之后彈出:
最后我將程序改寫為如下:
$servername="localhost"; $username="root"; $password="password"; $dbname="test"; $conn=new mysqli($servername,$username,$password,$dbname); if($conn->connect_error){ die("Connect failed:".$conn->connect_error); } $sql="INSERT INTO user(user_first,user_last,age)VALUES(?,?,?)"; $stmt=$conn->prepare($sql); $stmt->bind_param("sss",$user_first,$user_last,$age); $user_first="xiao"; $user_last="hong"; $age=12; $stmt->execute(); echo "News records created successfully!"; $stmt->close(); $conn->close();
而上面這段程序可以正常執行.
PS:這里再為大家提供一個相關的php函數表供大家查詢參考:
php在線函數參考表:
http://tools.jb51.net/table/php_fun_table
更多關于PHP相關內容感興趣的讀者可查看本站專題:《php字符串(string)用法總結》、《php常用函數與技巧總結》、《PHP數據結構與算法教程》、《php程序設計算法總結》、《PHP數組(Array)操作技巧大全》及《php常見數據庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。