PHP mysqli real_escape_string() Funzione
Esempio - Stile orientato agli oggetti
Escape caratteri speciali nelle stringhe:
<?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();
?>
Guarda l'esempio di stile procedurale in basso.
Definizione e utilizzo
La funzione real_escape_string() / mysqli_real_escape_string() esegue l'escape di caratteri speciali in una stringa da utilizzare in una query SQL, tenendo conto del set di caratteri corrente della connessione.
Questa funzione viene utilizzata per creare una stringa SQL legale che può essere utilizzata in un'istruzione SQL. Supponiamo di avere il seguente codice:
<?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);
}
?>
Sintassi
Stile orientato agli oggetti:
$mysqli ->
real_escape_string(escapestring)
Stile procedurale:
mysqli_real_escape_string(connection, escapestring)
Valori dei parametri
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. |
Dettagli tecnici
Valore di ritorno: | Restituisce la stringa di escape |
---|---|
Versione PHP: | 5+ |
Esempio - Stile procedurale
Escape caratteri speciali nelle stringhe:
<?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);
?>
❮ Riferimento PHP MySQLi