首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在SELECT查询中处理未转义的MySQL数据?

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

Stack Overflow用户
提问于 2014-01-23 06:41:01
回答 1查看 819关注 0票数 0

背景:

  1. 用户提交以下数据firstName
  2. 我使用mysql_real_escape_string转义用户的数据,并将其存储在MySQL内存表(table1)中。
  3. PHP每5分钟运行一次,然后将此数据选择到PHP数组中(出于复制原因),并以InnoDB格式(table2)对相同的表执行以下INSERT命令:

代码语言:javascript
复制
INSERT INTO `table2` (`id`,`firstName`) VALUES ('1','aaa');

问题:

如果用户用单引号' (即"John's“)发送数据,则在保存时对其进行转义,但不保存转义。也就是说,它是用单引号保存到firstName of table1中的。

当发生上述insert命令时,未转义的数据将中断整个insert命令。我如何处理这件事,而不需要在每一个时刻手动逃跑?

我现在不能转到PDO或mysqli。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-23 07:19:06

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

你的“复制理由”是什么意思?也许您不需要从数据库中获取所有数据,这样就可以将其推回另一个表。直接从另一个表插入要高效得多。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21301145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档