Apa itu mysql_real_escape_string

❮ PHP MySQLi Reference

Example - Object Oriented style

Escape special characters in strings:

<?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();
?>


Look at example of procedural style at the bottom.


Definition and Usage

The real_escape_string() / mysqli_real_escape_string() function escapes special characters in a string for use in an SQL query, taking into account the current character set of the connection.

This function is used to create a legal SQL string that can be used in an SQL statement. Assume we have the following code:

<?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);
}

?>


Syntax

Object oriented style:

$mysqli -> real_escape_string(escapestring)

Procedural style:

mysqli_real_escape_string(connection, escapestring)

Parameter Values

ParameterDescription
connection Required. Specifies the MySQL connection to use
escapestring Required. The string to be escaped. Characters encoded are NUL (ASCII 0), \n, \r, \, ', ", and Control-Z.

Technical Details

Return Value:Returns the escaped string
PHP Version:5+

Example - Procedural style

Escape special characters in strings:

<?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 Reference



Sebelumnya Saya sudah pernah membahas tentang cara penggunaan mysql_escape_string. Nah pada kesempatan ini saya akan membahas hal yang tidak jauh beda dengan pembahasan sebelumnya, namun kali ini adalah tentang penggunaan mysqli_real_escape_string, ada tambahan “i” dibelakangnya yang berarti ini adalah fungsi yang digunakan untuk mengganti mysql_escape_string yang sudah deprecated bila digunakan pada PHP7 atau diatasnya. [ Baca : Memahami perbedaan mysql dan mysqli ]

http://php.net/manual/en/function.mysqli-escape-string.php
mysqli_escape_string is a shorter name than mysqli_real_escape_string and doesn’t seem to be deprecated, so you might as well save typing.
mysqli_escape_string merupakan nama lain dari (alias) mysqli_real_escape_string. Jadi nanti intinya di php7 fungsi yang digunakan itu adalah mysqli_real_escape_string

Perbedaan mysql_escape_string dan mysqli_real_escape_string

Syntax atau penggunaan mysql_escape_string dengan mysqli_real_escape_string berbeda. Jika sebelumnya menggunakan mysql_escape_string kita tidak perlu menambahkan variabel untuk koneksi ke database, sedangkan pada fungsi mysqli_real_escape_string perlu ditambahkan variabel koneksi didalamnya, variabel koneksi yang ditambahkan itu bisa dalam bentuk variabel yang mengandung unsur GET atau POST.

Contoh perbedaan penggunaan mysql_escape_string dan mysqli_real_escape_string

Penggunaaan mysql_escape_string

syntax : mysql_escape_string ($namavariabelyangdifilter);

Penggunaan mysqli_real_escape_string 
Baca di : https://www.w3schools.com/php/func_mysqli_real_escape_string.asp

Syntax : mysqli_real_escape_string ($variabelkoneksi, $namavariabelyangdifilter);

Apa itu mysql_real_escape_string

Jadi sampai disini sudah jelas bahwasanya ada perbedaan tata cara penggunaan antara mysql_escape_string dan mysqli_real_escape_string, yang mana pada mysql_escape_string kita tidak perlu menambahkan variabel koneksi sedangkan pada mysqli_real_escape_string kita perlu menambahkannya.

Dengan memahami penggunaan mysqli_real_escape_string diharapkan nanti tidak ada kesalahan dalam penulisan kode yang akan membuat website atau aplikasi berbasis web yang Anda buat menggunakan PHP menjadi error alias tidak berfungsi.

Apa itu mysql_real_escape_string

Seorang laki - laki biasa yang senang duduk sendirian di pinggir pantai, pengagum embun pagi dan lembayung senja, suka blogging, coding dan jogging. Moto hidupnya adalah hidup santai dan simpel