mysqli::real escape string: Skillnad mellan sidversioner
Admin (diskussion | bidrag) (Skapade sidan med '== mysqli::real_escape_string == '''mysqli_real_escape_string''' (PHP 5, PHP 7, PHP 8) '''mysqli::real_escape_string''' -- '''mysqli_real_escape_string''' — Escaperar specialtecken i en sträng för användning i ett SQL-uttalande, med hänsyn till den aktuella teckenuppsättningen för anslutningen === Beskrivning === '''Objektorienterad stil''' <pre> public mysqli::real_escape_string(string $string): string </pre> '''Procedurell stil''' <pre> mysqli_real_escap...') |
Admin (diskussion | bidrag) |
||
Rad 93: | Rad 93: | ||
=== Se även === | === Se även === | ||
* <code>[[mysqli_set_charset]]()</code> - Ställer in klientens teckenuppsättning | * <code>[[mysqli_set_charset]]()</code> - Ställer in klientens teckenuppsättning | ||
= Sidslut = | |||
Orginalhemsidan på Engelska :https://www.php.net/manual/en/mysqli.real-escape-string.php | |||
<BR>[[PHP]] | |||
[[Kategori:Php]] | |||
<hr> | |||
Det här är en maskinöversättning av PHP-manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på | |||
https://www.linux.se/kontaka-linux-se/ | |||
<BR><BR>Tack till [https://datorhjalp.se Datorhjälp.se] som har sponsrat Linux.se med webserver. |
Nuvarande version från 2 september 2024 kl. 16.44
mysqli::real_escape_string
mysqli_real_escape_string (PHP 5, PHP 7, PHP 8)
mysqli::real_escape_string -- mysqli_real_escape_string — Escaperar specialtecken i en sträng för användning i ett SQL-uttalande, med hänsyn till den aktuella teckenuppsättningen för anslutningen
Beskrivning
Objektorienterad stil
public mysqli::real_escape_string(string $string): string
Procedurell stil
mysqli_real_escape_string(mysqli $mysql, string $string): string
Denna funktion används för att skapa en giltig SQL-sträng som kan användas i ett SQL-uttalande. Den angivna strängen kodas för att producera en escaperad SQL-sträng, med hänsyn till den aktuella teckenuppsättningen för anslutningen.
Varning
Säkerhet: den förvalda teckenuppsättningen
Teckenuppsättningen måste ställas in antingen på servernivå eller med API-funktionen mysqli_set_charset()
för att påverka mysqli_real_escape_string()
. Se konceptavsnittet om teckenuppsättningar för mer information.
Parametrar
- mysql
- Endast procedurell stil: Ett mysqli-objekt som returneras av
mysqli_connect()
ellermysqli_init()
.
- string
- Strängen som ska escaperas.
Tecken som kodas är NUL (ASCII 0), \n, \r, \, ', ", och CTRL+Z.
Returnerar
Returnerar en escaperad sträng.
Exempel
Exempel #1 mysqli::real_escape_string() exempel
Objektorienterad stil
<?php mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); $mysqli = new mysqli("localhost", "my_user", "my_password", "world"); $city = "'s-Hertogenbosch"; /* denna fråga med escaperad $city kommer att fungera */ $query = sprintf("SELECT CountryCode FROM City WHERE name='%s'", $mysqli->real_escape_string($city)); $result = $mysqli->query($query); printf("Select returned %d rows.\n", $result->num_rows); /* denna fråga kommer att misslyckas eftersom vi inte escaperade $city */ $query = sprintf("SELECT CountryCode FROM City WHERE name='%s'", $city); $result = $mysqli->query($query); ?>
Procedurell stil
<?php mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); $mysqli = mysqli_connect("localhost", "my_user", "my_password", "world"); $city = "'s-Hertogenbosch"; /* denna fråga med escaperad $city kommer att fungera */ $query = sprintf("SELECT CountryCode FROM City WHERE name='%s'", mysqli_real_escape_string($mysqli, $city)); $result = mysqli_query($mysqli, $query); printf("Select returned %d rows.\n", mysqli_num_rows($result)); /* denna fråga kommer att misslyckas eftersom vi inte escaperade $city */ $query = sprintf("SELECT CountryCode FROM City WHERE name='%s'", $city); $result = mysqli_query($mysqli, $query); ?>
Ovanstående exempel kommer att ge ett resultat som liknar:
Select returned 1 rows. Fatal error: Uncaught mysqli_sql_exception: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's-Hertogenbosch'' at line 1 in...
Se även
mysqli_set_charset()
- Ställer in klientens teckenuppsättning
Sidslut
Orginalhemsidan på Engelska :https://www.php.net/manual/en/mysqli.real-escape-string.php
PHP
Det här är en maskinöversättning av PHP-manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på
https://www.linux.se/kontaka-linux-se/
Tack till Datorhjälp.se som har sponsrat Linux.se med webserver.