php - 如何通过 PHP 和 mysql 正确转义字符串

标签 php mysql html database escaping

有人可以解释在字符串上使用 mysql_real_escape_string 或在列周围包裹 `` 之间有什么区别。

例如“插入表(``列``)值('$string')”

$escapestring = mysql_real_escape_string($string);
 "insert into table (column) values ('$escapedstring')"

这两者有什么区别,我应该使用什么?谢谢。

最佳答案

反引号`和单引号'是有区别的。

反引号用于转义可能与 MySQL 保留字冲突的表名和字段名。如果我有一个名为 date 的字段和一个类似 SELECT date FROM mytable 的查询,我需要避免使用 date 以便当 MySQL解析查询,它将把我对 date 的使用解释为 field 而不是 datatype date

单引号 ' 用于文字值,如 SELECT * FROM mytable WHERE somefield='somevalue'。如果 somevalue 本身包含单引号,则需要对它们进行转义以防止过早关闭引号文字。

关于php - 如何通过 PHP 和 mysql 正确转义字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5840230/

相关文章:

html - 如何消除字体间隙?

PHP mysqli 从字符串插入日期

php - PDO:lastInsertId返回什么值?

mysql - 我应该使用 mySQL 还是 MongoDB

jquery - 使用 JQuery 排列 Div

使用选择器和选项进行 Javascript 排序

php - 5至10个 block (服务器到服务器)后,YouTube API视频上传停止

PHP MySQL - 查找行 ID

php - mysqli_fetch_array() 的问题期望参数 1 为 mysqli_result

mysql - 排序分组依据 - 选择 V​​S View