我正在尝试使用PDO执行此查询:
UPDATE categories
SET keywords = '{"bg":["keyword1","\u0431\u044a\u043b\u0433\u0430\u0440\u0441\u043a\u0438 "]}'
WHERE id = 4;
问题是它似乎记录没有反斜杠(“\”)的十六进制值。它确实显示在我的应用程序中没有反斜杠,但也在PHPMyAdmin中显示。
我在这个查询上使用了exec(),我已经尝试过这个全文查询,没有任何动态/转换变量。 PDO参数如下:
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true,
PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"
有人可以解释一下这里发生了什么吗?谢谢!
更新:我已经从mysql的CLI执行了这个确切的查询,然后在那里显示,问题是一样的:所有的反斜杠都消失了。所以看起来问题似乎与PDO无关,而是与MySQL - 或者我!我的版本是5.1.53