本篇文章给大家介绍一下php使用mysqli_real_escape_string()函数的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

mysqli_real_escape_string()函数是PHP中的内置函数, 用于转义所有特殊字符以用于SQL查询。在将字符串插入数据库之前使用它, 因为它删除了可能干扰查询操作的任何特殊字符。
当使用简单的字符串时, 它们中可能包含特殊字符, 例如反斜杠和撇号(尤其是当它们直接从输入了此类数据的表单中获取数据时)。这些被认为是查询字符串的一部分, 并且会干扰其正常运行。
<?php
$connection = mysqli_connect(
"localhost" , "root" , "" , "Persons" );
// Check connection
if (mysqli_connect_errno()) {
echo "Database connection failed." ;
}
$firstname = "Robert'O" ;
$lastname = "O'Connell" ;
$sql ="INSERT INTO Persons (FirstName, LastName)
VALUES ( '$firstname' , '$lastname' )";
if (mysqli_query( $connection , $sql )) {
// Print the number of rows inserted in
// the table, if insertion is successful
printf( "%d row inserted.n" , $mysqli ->affected_rows);
}
else {
// Query fails because the apostrophe in
// the string interferes with the query
printf( "An error occurred!" );
}
?>在上面的代码中, 查询失败, 因为使用mysqli_query()执行撇号时, 会将撇号视为查询的一部分。解决方案是在查询中使用字符串之前使用mysqli_real_escape_string()。
立即学习“PHP免费学习笔记(深入)”;
<?php
$connection = mysqli_connect(
"localhost" , "root" , "" , "Persons" );
// Check connection
if (mysqli_connect_errno()) {
echo "Database connection failed." ;
}
$firstname = "Robert'O" ;
$lastname = "O'Connell" ;
// Remove the special characters from the
// string using mysqli_real_escape_string
$lastname_escape = mysqli_real_escape_string(
$connection , $lastname );
$firstname_escape = mysqli_real_escape_string(
$connection , $firstname );
$sql ="INSERT INTO Persons (FirstName, LastName)
VALUES ( '$firstname' , '$lastname' )";
if (mysqli_query( $connection , $sql )) {
// Print the number of rows inserted in
// the table, if insertion is successful
printf( "%d row inserted.n" , $mysqli ->affected_rows);
}
?>输出如下:
1 row inserted.
以上就是PHP如何使用mysqli_real_escape_string()函数?的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号