Section Artikel
Definisi dan Penggunaan
Fungsi real_escape_string() / mysqli_real_escape_string()
digunakan untuk lolos dari karakter khusus dalam string untuk digunakan dalam kueri SQL, dengan mempertimbangkan kumpulan karakter saat ini dari koneksi.
Fungsi ini digunakan untuk membuat string SQL legal yang dapat digunakan dalam pernyataan SQL. Asumsikan kita memiliki kode berikut:
<?php $lastname = "D'Ore"; $sql="INSERT INTO Persons (LastName) VALUES ('$lastname')"; // Queri ini gagal karena tidak lolos dari $lastname if (!$mysqli -> query($sql)) { printf("%d Row inserted.\n", $mysqli->affected_rows); } ?>
Syntax
Object oriented style:
$mysqli -> real_escape_string(escapestring)
Procedural style:
mysqli_real_escape_string(connection, escapestring)
Nilai Parameter
Parameter | Deskripsi |
---|---|
connection | Required. Menentukan koneksi MySQL yang akan digunakan |
escapestring | Required. String yang akan di-escape. Karakter yang dikodekan adalah NUL (ASCII 0), \ n, \ r, \, ‘, “, dan Control-Z. |
Detail Teknis
Return Value: | Mengembalikan string yang lolos |
---|---|
PHP Version: | 5+ |
Contoh – Object oriented style
Escape karakter khusus dalam string:
<?php $mysqli = new mysqli("localhost","my_user","my_password","my_db"); if ($mysqli -> connect_errno) { echo "Gagal Menghubungkan ke MySQL: " . $mysqli -> connect_error; exit(); } // keluar dari karakter khusus, jika ada $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(); ?>
Contoh – Procedural style
Escape karakter khusus dalam string:
<?php $con = mysqli_connect("localhost","my_user","my_password","my_db"); if (mysqli_connect_errno()) { echo "Gagal Menghubungkan ke MySQL: " . mysqli_connect_error(); exit(); } // keluar dari karakter khusus, jika ada $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); ?>