PHP mysqli_real_escape_string() 函数用法及示例
mysqli_real_escape_string()函数根据当前连接的字符集,对于 SQL 语句中的特殊字符进行转义。
定义和用法
mysqli_real_escape_string()函数用来对字符串中的特殊字符进行转义, 以使得这个字符串是一个合法的 SQL 语句。 传入的字符串会根据当前连接的字符集进行转义,得到一个编码后的合法的 SQL 语句。
语法mysqli_real_escape_string($con, $str)
参数序号参数及说明
1con(必需)
这是一个表示与MySQL Server的连接的对象。
2str(必需)
这是一个字符串,您需要在其中转义特殊字符。
返回值
mysqli_real_escape_string()返回可与SQL查询中使用一个合法的字符串,也就是转义后的字符串。
错误/异常
在无效的连接上调用此函数会返回 NULL 并发出一个 E_WARNING 级别的错误。
PHP版本
此函数最初是在PHP版本5中引入的,并且可以在所有更高版本中使用。
在线示例
以下示例演示了mysqli_real_escape_string()函数的用法(面向过程风格)-
示例//建立连接
$con = mysqli_connect("localhost", "root", "password", "mydb");
//创建表
mysqli_query($con, "CREATE TABLE my_team(Name VARCHAR(255), Country VARCHAR(255))");
$player = "S'Dhawan";
$country = "India";
//插入记录
$res = mysqli_query($con, "INSERT into my_team VALUES ('$player', '$country')");
if(!$res){
print("发生错误");
}else{
print("插入记录成功");
}
print("n");
$player = mysqli_real_escape_string($con, $player);
$country = mysqli_real_escape_string($con, $country);
//插入记录
$res = mysqli_query($con, "INSERT into my_team VALUES ('$player', '$country')");
if(!$res){
print("发生错误");
}else{
print("插入记录成功");
}
//关闭连接
mysqli_close($con);
?>
输出结果发生错误
插入记录成功
在线示例
在面向对象风格中,此函数的语法为$con->real_escape_string();。以下是面向对象风格的函数示例;
示例<?php
//连接到数据库
$con = new mysqli("localhost", "root", "password", "test");
//创建表
$con->query("CREATE TABLE my_team(Name VARCHAR(255), Country VARCHAR(255))");
$player = "S'Dhawan";
$country = "India";
//插入记录
$res = $con->query("INSERT into my_team VALUES ('$player')");
if(!$res){
print("发生错误");
}else{
print("插入记录成功");
}
print("n");
$player = $con->real_escape_string($player);
//插入记录
$res = $con->query("INSERT into my_team (Name) VALUES ('$player')");
if(!$res){
print("发生错误");
}else{
print("插入记录成功");
}
//关闭连接
mysqli_close($con);
?>
输出结果发生错误
插入记录成功
在线示例
转义字符串中的特殊字符单引号:
示例<?php
$con = mysqli_connect("localhost","root","password","mydb");
if (mysqli_connect_errno($con)){
echo "连接MySQL失败: " . mysqli_connect_error();
}
$myName = "Jr's";
$myName = mysqli_real_escape_string($con,$myName);
mysqli_query($con,"INSERT into emp (name) VALUES ('$myName')");
mysqli_close($con);
本文发布于:2024-01-31 08:17:14,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170666023727060.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |