mysqli::real escape string: Skillnad mellan sidversioner

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök
(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...')
 
 
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() eller mysqli_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

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.