gpt4 book ai didi

mysql - 如何处理 SELECT 查询中未转义的 MySQL 数据?

转载 作者:行者123 更新时间:2023-11-29 13:17:21 25 4
gpt4 key购买 nike

背景:

  1. 用户提交以下数据firstName

  2. 我使用mysql_real_escape_string转义用户数据并将其存储在MySQL内存表(table1)中。

  3. PHP cron 每 5 分钟运行一次,然后将此数据选择到 PHP 数组中(出于复制原因),并对相同的表执行以下 INSERT 命令,但采用 InnoDB 格式 (table2) :


INSERT INTO `table2` (`id`,`firstName`) VALUES ('1','aaa');

问题:

如果用户发送带有单引号'的数据,即“John's”,则在保存时会转义,但不会保存转义。意思是,它用单引号保存到 table1firstName 中。

当上述插入命令发生时,未转义的数据会破坏整个插入命令。我如何处理这个问题而不需要每次都手动转义?

我目前无法切换到 PDO 或 mysqli。

最佳答案

每次在文字 SQL 查询中使用数据时,如果不手动转义数据,就无法避免这种情况。使用参数化语句或转义数据。

您的“复制原因”是什么意思?也许您不需要从数据库中获取所有数据,只需将其推回到另一个表中即可。直接从另一个表插入效率更高。

关于mysql - 如何处理 SELECT 查询中未转义的 MySQL 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21301145/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com