PHP mysqli real_escape_string() Fonksiyon
Örnek - Nesne Yönelimli stil
Dizelerdeki özel karakterlerden kaçış:
<?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();
?>
En alttaki prosedürel stil örneğine bakın.
Tanım ve Kullanım
real_escape_string() / mysqli_real_escape_string() işlevi, bağlantının geçerli karakter kümesini dikkate alarak bir SQL sorgusunda kullanılmak üzere bir dizedeki özel karakterlerden kaçar.
Bu işlev, bir SQL deyiminde kullanılabilecek yasal bir SQL dizesi oluşturmak için kullanılır. Aşağıdaki koda sahip olduğumuzu varsayalım:
<?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);
}
?>
Sözdizimi
Nesne yönelimli stil:
$mysqli ->
real_escape_string(escapestring)
Prosedür stili:
mysqli_real_escape_string(connection, escapestring)
Parametre Değerleri
Parameter | Description |
---|---|
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. |
Teknik detaylar
Geri dönüş değeri: | Kaçan dizeyi döndürür |
---|---|
PHP Sürümü: | 5+ |
Örnek - Prosedür stili
Dizelerdeki özel karakterlerden kaçış:
<?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 Referansı