real_escape_string
SQLステートメントで使用するために、文字列の特殊文字を逃がします。
real_escape_string()
/ mysqli_real_escape_string()
関数は、連結の現在の文字セットを考慮しながら、SQLクエリで使用するために文字列の特殊文字を逃がします。
この関数は、SQLステートメントで使用できる法的SQL文字列を作成するために使用されます。次のコードがあるとします。
<?php $ lastName = "d'Ore" ; $ sql = "inserting persons(lastname)values( ' $ lastname ')" ; // $ lastNameを逃がさなかったため、このクエリは失敗します if ( ! $ mysqli- > query ( $ sql ) ) { printf ( "%d row挿入。\ n" 、 $ mysqli- > rifected_rows ) ; } ?>
文字列の特殊文字を逃がす:
<?php $ mysqli = new mysqli ( "localhost" 、 "my_user" 、 "my_password" 、 "my_db" ) ; if ( $ mysqli- > connect_errno ) { エコー「MySQLに接続できなかった:」 。 $ mysqli- > connect_error ; 出口( ) ; } //特殊文字をエスケープする(ある場合) $ firstname = $ mysqli- > real_escape_string ( $ _post [ 'firstName' ] ) ; $ lastname = $ mysqli- > real_escape_string ( $ _post [ 'lastname' ] ) ; $ age = $ mysqli- > real_escape_string ( $ _post [ 'age' ] ) ; $ sql = "inserting persons(firstname、lastname、age)values( ' $ firstname '、 ' $ lastname '、 ' $ age ')" ; if ( ! $ mysqli- > query ( $ sql ) ) { printf ( "%d row挿入。\ n" 、 $ mysqli- > rifected_rows ) ; } $ mysqli- > close ( ) ; ?>
文字列の特殊文字を逃がす:
<?php $ con = mysqli_connect ( "localhost" 、 "my_user" 、 "my_password" 、 "my_db" ) ; if ( mysqli_connect_errno ( ) ) { エコー「MySQLに接続できなかった:」 。 mysqli_connect_error ( ) ; 出口( ) ; } //特殊文字をエスケープする(ある場合) $ firstname = mysqli_real_escape_string ( $ con 、 $ _post [ 'firstName' ] ) ; $ lastname = mysqli_real_escape_string ( $ con 、 $ _post [ 'lastname' ] ) ; $ age = mysqli_real_escape_string ( $ con 、 $ _post [ 'age' ] ) ; $ sql = "inserting persons(firstname、lastname、age)values( ' $ firstname '、 ' $ lastname '、 ' $ age ')" ; if ( ! mysqli_query ( $ con 、 $ sql ) ) { printf ( "%d row挿入。\ n" 、 mysqli_affected_rows ( $ con ) ) ; } mysqli_close ( $ con ) ; ?>