为什么在 PHP 中转义单引号有时只影响 MySQL 插入?

Patricia Arquette
发布: 2024-11-03 11:55:29
原创
744 人浏览过

Why Does Escaping Single Quotes in PHP Only Affect MySQL Inserts Sometimes?

在 PHP 中向 MySQL 插入数据时转义单引号

本文解决了在 PHP 中向 MySQL 插入数据时转义单引号的问题。

提供的代码演示了两个 SQL 语句:一个用于将表单数据插入数据库,另一个用于检索数据、发送电子邮件和记录事务详细信息。当第二个语句中存在单引号但第一个语句中不存在单引号时,会发生错误。

行为差异源于可能启用 magic_quotes_gpc。此功能对 $_GET、$_POST 和 $_COOKIES 中的字符串进行转义。当再次存储和检索数据时,它可能不会自动转义。

要解决此问题,您应该使用 mysql_real_escape_string() 对两个片段中的每个字符串进行转义。

示例with mysql_real_escape_string():

<code class="php">$order_id = mysql_real_escape_string($order_id);
$supplier_id = mysql_real_escape_string($supplier_id);
...</code>
登录后复制

在插入 MySQL 之前转义字符串可确保单引号和其他可能有问题的字符得到正确处理,防止 SQL 注入漏洞和不一致的查询执行。

以上是为什么在 PHP 中转义单引号有时只影响 MySQL 插入?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板