@@SESSION.sql_mode;
@@GLOBAL.sql_mode;
都出现空白,my.cnf不显示“NO_BACKSLASH_ESCAPE”标志,这是查询的一部分,它运行在本地服务器上,但不在我的主服务器上。MySQL添加额外的反斜杠?
UPDATE `table`
SET `data` = "[{\"_talent\'s\"etc"
现在我知道我可以用“[{”“_talents”,“等”,但我宁愿不要,因为它是更容易为我保持到一直工作之前我目前逃逸的安全方法。
字符集是我正在更新的表的UTF-8。最奇怪的是,它插入但不更新!
这一个真的让我挠。有任何想法吗?
干杯
编辑:
我发现了该服务器试图解释,像这样的查询:
Failed to execute SQL : SQL UPDATE `build` SET `data` = "[{\"_talent\'s" WHERE `build_id` = 1 AND `userId` = 1128; failed : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'UPDATE `build` SET `data` = "[{\\"_talent\\'s" WHERE `build_id` = 1 AND `userId`' at line 1
但它肯定应该是一样的,为什么是SQL引擎逃脱我的逃跑! (如果我离开了逃逸查询仍然失败)
** Blackslash ** ...是黑色安息日和枪炮与玫瑰的组合吗?请原谅双关。不能帮助自己。 – froeschli 2011-03-02 11:32:47
哈哈,哎呀!谢谢 – Dorjan 2011-03-02 11:37:26
请有人可以帮忙,我会走出我的脑海。它适用于我的本地服务器,但不适用于Web服务器。网络服务器似乎是两次逃脱相同的声明! :S – Dorjan 2011-03-02 12:46:44