当前位置: 首页> 函数类别大全> real_escape_string

real_escape_string

转义字符串中的特殊字符以用于 SQL 语句。
名称:real_escape_string
分类:未分类
所属语言:php
一句话介绍:转义字符串中的特殊字符以用于 SQL 语句。

定义和用法

real_escape_string() / mysqli_real_escape_string() 函数转义字符串中的特殊字符,以便在 SQL 查询中使用,同时考虑连接的当前字符集。

此函数用于创建可在 SQL 语句中使用的合法 SQL 字符串。假设我们有以下代码:

<?php

$lastname = "D'Ore";

$sql="INSERT INTO Persons (LastName) VALUES ('$lastname')";

// 此查询将失败,因为我们没有转义 $lastname
if (!$mysqli -> query($sql)) {
  printf("%d Row inserted.\n", $mysqli->affected_rows);
}

?>

实例

例子 1 - 面向对象风格

转义字符串中的特殊字符:

<?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();
}

// 转义特殊字符(如果有)
$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();
?>

例子 2 - 过程式风格

转义字符串中的特殊字符:

<?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();
}

// 转义特殊字符(如果有)
$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);
?>
同类函数
  • 返回月的名称。 jdmonthname

    jdmonthname

    返回月的名称。
  • 将 XML 字符串转换为对象。 simplexml_load_string

    simplexml_load_string

    将XML字符串转换为对象。
  • 从结果集中获取一行并作为枚举数组返回。 fetch_row

    fetch_row

    从结果集中获取一行并作为枚举数组返回。
  • 取得当前系统状态。 mysql_stat

    mysql_stat

    取得当前系统状态。
  • 关闭非持久的 MySQL 连接。 mysql_close

    mysql_close

    关闭非持久的MySQL连接。
  • 改变 FTP 服务器上的当前目录。 ftp_chdir

    ftp_chdir

    改变FTP服务器上的当前目录。
  • 返回 ZIP 文件中的一个项目的被压缩尺寸。 zip_entry_compressedsize

    zip_entry_compressedsize

    返回ZIP文件中的一个项目的被压缩尺寸。
  • 把文件上传到服务器 (non-blocking)。 ftp_nb_put

    ftp_nb_put

    把文件上传到服务器(non-blocki
热门文章