首页  >  文章  >  后端开发  >  如何在 PHP 中正确转义 MySQL 插入的单引号?

如何在 PHP 中正确转义 MySQL 插入的单引号?

Patricia Arquette
Patricia Arquette原创
2024-11-02 13:40:29811浏览

How to Properly Escape Single Quotes for MySQL Insertion in PHP?

转义 PHP 中的单引号以进行 MySQL 插入

从 PHP 向 MySQL 数据库插入数据时,单引号等特殊字符可能会导致错误。为了防止这种情况,在将这些字符插入查询之前对其进行转义至关重要。

出现问题中描述的问题是因为数据的收集和插入方式不同,具体取决于来源。查询 1 直接从提交的表单中收集数据,这可能会引入未转义的单引号。然而,在查询 2 中,数据首先从数据库中提取,如果启用了 magic_quotes_gpc,单引号可能已经被转义。

解决方案是使用 mysql_real_escape_string() 在两个查询中一致地转义单引号。此函数转义特殊字符并确保正确处理单引号,即使它们出现在数据中也是如此。

示例:

<code class="php">$escaped_name = mysql_real_escape_string($name);
$query = mysql_query("INSERT INTO message_log (order_id, timestamp, message_type, email_from, supplier_id, primary_contact, secondary_contact, subject, message_content, status) VALUES ('$order_id', '" . date('Y-m-d H:i:s', time()) . "', '$email', '$from', '$row->supplier_id', '$row->primary_email' ,' $row->secondary_email', '$subject', '$escaped_name', '1')");</code>

在将数据插入 MySQL 之前,在 PHP 中一致地转义单引号,您可以防止潜在的错误并确保准确的数据处理。

以上是如何在 PHP 中正确转义 MySQL 插入的单引号?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn