我正在尝试将 sql 查询字符串存储在 MySQL 字段中,并且在正确转义字符串时遇到问题。
如果我使用 phpMyAdmin 将以下字符串插入到测试表的 sql varchar 字段中:
INSERT INTO `test` SET `test`.`sql`='{$_POST['sql']}'
然后使用 phpMyAdmin 导出它,它给了我以下 sql 查询:
INSERT INTO `test`.`test` (`sql`)
VALUES ('INSERT INTO `test` SET `test`.`sql`=''{$_POST[''sql'']}''');
如果我想要我自己的 php 脚本来执行此操作,我应该使用什么函数进行转义:
INSERT INTO `test` SET `test`.`sql`='{$_POST['sql']}'
使它看起来像:
'INSERT INTO `test` SET `test`.`sql`=''{$_POST[''sql'']}'''
我有大量的 sql 查询需要存储以进行检索。
phpMyAdmin 对创建的原始字符串做了什么:
INSERT INTO `test`.`test` (`sql`)
VALUES ('INSERT INTO `test` SET `test`.`sql`=''{$_POST[''sql'']}''');
什么是函数 xyz 其中:
$a = "INSERT INTO `test` SET `test`.`sql`='{$_POST['sql']}'";
$b = "INSERT INTO `test`.`test` (`sql`)
VALUES ('INSERT INTO `test` SET `test`.`sql`=''{$_POST[''sql'']}''')";
$b = xyz($a);