مثال - سبک شی گرا
گریز از کاراکترهای خاص در رشته ها:
$mysqli = mysqli جدید ("localhost", "my_user", "my_password", "my_db");
اگر ($mysqli -> connect_er
o) {
echo "اتصال به MySQL ناموفق بود: ".
$mysqli -> connect_error;
exit();
// فرار از کاراکترهای خاص، در صورت وجود
$firstname = $mysqli -> real_escape_string($_POST['firstname']);
$lastname = $mysqli -> real_escape_string($_POST['name']);
$age =
$mysqli -> real_escape_string($_POST['age']);
$sql="INSERT INTO Persons (FirstName, LastName, Age) VALUES ('$firstname', '$lastname', '$age')";
اگر (!$mysqli -> query($sql)) {
printf("%d ردیف درج شد.n", $mysqli->affected_rows);
$mysqli -> close();
?>
به نمونه سبک رویه ای در پایین نگاه کنید.
تعریف و استفاده
تابع real_escape_string() / mysqli_real_escape_string() از کاراکترهای خاص در یک
رشته ای برای استفاده در پرس و جوی SQL، با در نظر گرفتن مجموعه کاراکترهای فعلی
اتصال.
این تابع برای ایجاد یک رشته SQL قانونی که می تواند در یک SQL استفاده شود استفاده می شود
بیانیه. فرض کنید کد زیر را داریم:
$lastname = "D'Ore";
$sql="INSERT INTO Persons (LastName) VALUES ('$lastname')";
// این عبارت با شکست مواجه میشود، زیرا ما از $lastname فرار نکردیم
اگر (!$mysqli -> query($sql)) {
printf("%d ردیف درج شد.n" , $mysqli->affected_rows);
}
؟>
نحو
سبک شی گرا:
$mysqli ->
real_escape_string(escapestring)
سبک رویه:
mysqli_real_escape_string(اتصال، escapestring)
مقادیر پارامتر
| پارامتر | توضیح |
|---|---|
| اتصال | لازم است. اتصال MySQL برای استفاده را مشخص می کند |
| escapestring | لازم است. رشته ای که باید فرار کرد. نویسه های کدگذاری شده NUL (ASCII 0)، n، r، ، '، "و Control-Z هستند. |
جزئیات فنی
| مقدار بازگشتی: | رشته فرار را برمیگرداند |
|---|---|
| نسخه PHP: | 5+ |
مثال - سبک رویه
گریز از کاراکترهای خاص در رشته ها:
$con = mysqli_connect("localhost"، "my_user"، "my_password"، "my_db");
if (mysqli_connect_er
o())
{
echo "اتصال به MySQL ناموفق بود: ". mysqli_connect_error();
exit();
// فرار از کاراکترهای خاص، در صورت وجود
$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 ردیف درج شد.n", mysqli_affected_rows($con));
}
mysqli_close($con);
?>
❮ مرجع PHP MySQLi