Maison > Article > développement back-end > Trois fonctions PHP et deux options pour empêcher l'injection SQL
1. addlashes($string) : utilisez des barres obliques inverses pour citer des caractères spéciaux dans la chaîne ' "
$username=addslashes($username);
2. mysql_escape_string($string) : utilisez une barre oblique inverse pour échapper les caractères spéciaux dans la chaîne pour la requête mysql_query()
$username=mysql_escape_string($username);
3. string) : échappe aux caractères spéciaux dans la chaîne utilisée dans les instructions SQL, et en tenant compte du jeu de caractères actuel de la connexion, vous devez vous assurer que l'état actuel de la connexion peut être utilisé avant d'utiliser cette fonction, sinon elle signalera un avertissement. Il existe deux options pour ne pas échapper à % et _
$username=mysql_real_escape_string($username);
1 Utiliser PDO
$stmt = $pdo->prepare('SELECT * FROM user WHERE name = :name'); $stmt->execute(array(':name' => $name)); foreach ($stmt as $row) { // do something with $row }
2. mysqli
$stmt = $dbConnection->prepare('SELECT * FROM user WHERE name = ?'); $stmt->bind_param('s', $name); $stmt->execute(); $result = $stmt->get_result(); while ($row = $result->fetch_assoc()) { // do something with $row }
Pour plus de connaissances sur PHP, veuillez visiter le Site Web PHP chinois !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!