PHP連接資料庫時,可能需要為SQL
語句中的字串新增引號,為了解決這一問題,我們可以使用PHP的內建函數quote()
函數,本文就帶大家來看看。
首先來看quote()
函數的語法:
public PDO::quote ( string $string , int $parameter_type = PDO::PARAM_STR ) : string
$string:要新增引號的字串。
$parameter_type:為驅動程式提示資料類型,以便選擇引號樣式。
傳回值:傳回加引號的字串,理論上可以安全用於 SQL
語句。如果驅動程式不支援這種方式,將傳回 false
。
程式碼實例:
1.普通字串加引號
<?php $servername = "localhost"; $username = "root"; $password = "root123456"; $dbname = "my_database"; try { $pdo = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); echo "连接成功"."<br>"; // $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $pdo->setAttribute(PDO::ATTR_CASE, PDO::CASE_UPPER); $string = 'Nice'; print "Unquoted string: $string"; echo "<br>"; print "Quoted string: " . $pdo->quote($string) . "\n"; }catch(PDOException $e){ echo $e->getMessage(); }
输出:连接成功 Unquoted string: Nice Quoted string: 'Nice'
2 危險字串加上引號
<?php $servername = "localhost"; $username = "root"; $password = "root123456"; $dbname = "my_database"; try { $pdo = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); echo "连接成功"."<br>"; // $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $pdo->setAttribute(PDO::ATTR_CASE, PDO::CASE_UPPER); $string = 'Naughty \' string'; print "Unquoted string: $string"; echo "<br>"; print "Quoted string:" . $pdo->quote($string); }
输出:连接成功 Unquoted string: Naughty ' string Quoted string:'Naughty \' string'
推薦:《2021年PHP面試題大匯總(收藏) 》《php影片教學》
#以上是詳解PHP中的PDO::quote(附程式碼實例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!