TECH I.S.

PHP mysqli real_escape_string()関数

❮ PHP MySQLi リファレンス

例 - オブジェクト指向スタイル

文字列内の特殊文字をエスケープします:

<?php $mysqli = new mysqli("localhost","my_user","my_password","my_db"); if ($mysqli -> connect_errno) {   echo "Failed to connect to MySQL: " . $mysqli -> connect_error;   exit(); } // Escape special characters, if any $firstname = $mysqli -> real_escape_string($_POST['firstname']); $lastname = $mysqli -> real_escape_string($_POST['lastname']); $age = $mysqli -> real_escape_string($_POST['age']); $sql="INSERT INTO Persons (FirstName, LastName, Age) VALUES ('$firstname', '$lastname', '$age')"; if (!$mysqli -> query($sql)) {   printf("%d Row inserted.\n", $mysqli->affected_rows); } $mysqli -> close(); ?>

下部の手続き型スタイルの例を見てください。


定義と使用法

real_escape_string() / mysqli_real_escape_string()関数は、接続の現在の文字セットを考慮して、SQLクエリで使用するために文字列内の特殊文字をエスケープします。

この関数は、SQLステートメントで使用できる正当なSQL文字列を作成するために使用されます。次のコードがあるとします。

<?php $lastname = "D'Ore"; $sql="INSERT INTO Persons (LastName) VALUES ('$lastname')"; // This query will fail, cause we didn't escape $lastname if (!$mysqli -> query($sql)) {   printf("%d Row inserted.\n", $mysqli->affected_rows); } ?>

構文

オブジェクト指向スタイル:

<div>$mysqli -> real_escape_string(<em>escapestring</em>)</div>

手続き型のスタイル:

<div>mysqli_real_escape_string(<em>connection, escapestring</em>)</div>

パラメータ値

パラメータ

説明

connection Required 使用するMySQL接続を指定します
escapestring Required エスケープする文字列。エンコードされる文字は、NUL (ASCII 0)、\n、\r、\、'、"、および Control-Zです。

Technical Details

Return Value: エスケープされた文字列を返します

PHP バージョン:

5+

例 - 手続き型スタイル

文字列内の特殊文字をエスケープします:

<?php $con = mysqli_connect("localhost","my_user","my_password","my_db"); if (mysqli_connect_errno()) {   echo "Failed to connect to MySQL: " . mysqli_connect_error();   exit(); } // Escape special characters, if any $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="INSERT INTO Persons (FirstName, LastName, Age) VALUES ('$firstname', '$lastname', '$age')"; if (!mysqli_query($con, $sql)) {   printf("%d Row inserted.\n", mysqli_affected_rows($con)); } mysqli_close($con); ?>

❮ PHP MySQLi リファレンス


プログラミング学習を加速させる

プログラミングをプロの講師に教えてもらいませんか。

テックアイエスのプログラミングスクールは初心者も大歓迎です。年齢制限もありません。転職・副業に強く、挫折させない手厚いサポートで稼ぐ力を身につけましょう!

スクールの詳細