❮ 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
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
Returns the escaped string |
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 ]
//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 : //www.w3schools.com/php/func_mysqli_real_escape_string.asp
Syntax : mysqli_real_escape_string ($variabelkoneksi, $namavariabelyangdifilter);
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.
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