這篇文章主要為大家展示了“PHP怎么使用mysqli_real_escape_string()函數”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“PHP怎么使用mysqli_real_escape_string()函數”這篇文章吧。
mysqli_real_escape_string()函數是PHP中的內置函數, 用于轉義所有特殊字符以用于SQL查詢。在將字符串插入數據庫之前使用它, 因為它刪除了可能干擾查詢操作的任何特殊字符。
當使用簡單的字符串時, 它們中可能包含特殊字符, 例如反斜杠和撇號(尤其是當它們直接從輸入了此類數據的表單中獲取數據時)。這些被認為是查詢字符串的一部分, 并且會干擾其正常運行。
<?php $connection = mysqli_connect( "localhost" , "root" , "" , "Persons" ); // Check connection if (mysqli_connect_errno()) { echo "Database connection failed." ; } $firstname = "Robert'O" ; $lastname = "O'Connell" ; $sql ="INSERT INTO Persons (FirstName, LastName) VALUES ( '$firstname' , '$lastname' )"; if (mysqli_query( $connection , $sql )) { // Print the number of rows inserted in // the table, if insertion is successful printf( "%d row inserted.n" , $mysqli ->affected_rows); } else { // Query fails because the apostrophe in // the string interferes with the query printf( "An error occurred!" ); } ?>
在上面的代碼中, 查詢失敗, 因為使用mysqli_query()執行撇號時, 會將撇號視為查詢的一部分。解決方案是在查詢中使用字符串之前使用mysqli_real_escape_string()。
<?php $connection = mysqli_connect( "localhost" , "root" , "" , "Persons" ); // Check connection if (mysqli_connect_errno()) { echo "Database connection failed." ; } $firstname = "Robert'O" ; $lastname = "O'Connell" ; // Remove the special characters from the // string using mysqli_real_escape_string $lastname_escape = mysqli_real_escape_string( $connection , $lastname ); $firstname_escape = mysqli_real_escape_string( $connection , $firstname ); $sql ="INSERT INTO Persons (FirstName, LastName) VALUES ( '$firstname' , '$lastname' )"; if (mysqli_query( $connection , $sql )) { // Print the number of rows inserted in // the table, if insertion is successful printf( "%d row inserted.n" , $mysqli ->affected_rows); } ?>
輸出如下:
1 row inserted.
以上是“PHP怎么使用mysqli_real_escape_string()函數”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。