Home » PHP » Fungsi mysqli real_escape_string() PHP

Fungsi mysqli real_escape_string() PHP

by Hanifah Nurbaeti
by Hanifah Nurbaeti

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

ParameterDeskripsi
connectionRequired. Menentukan koneksi MySQL yang akan digunakan
escapestringRequired. 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);
?>

You may also like