繁体   English   中英

在PHP中转义单引号mysql查询

[英]Escape single quote mysql query in php

我有以下查询:

$query = 'UPDATE #__k2_items 
          SET extra_fields=\''.$campos_extra_updated.'\' 
          WHERE id='.$item_id;

$campos_extra_updated包含以下值,在尝试转义引号之前,我可以使用其他查询检索该值:

UPDATE ikyfb_k2_items SET extra_fields = "[{"id":"2","value":"Ser mayor de edad"},
{"id":"3","value":"asdf"},{"id":"4","value":9999998},{"id":"5","value":"10"},
{"id":"6","value":"7"},{"id":"7","value":"3"},{"id":"8","value":"1"},
{"id":"9","value":"2014-05-28"},{"id":"10","value":"2014-05-30"},
{"id":"11","value":"2014-05-28"},{"id":"12","value":"2014-05-31"},{"id":"14","value":"25"},{"id":"15","value":"20"},{"id":"16","value":"Consigue descuento ahora!"},
{"id":"17","value":"123abc"}]" WHERE id=52

SET extra_fields =并在{"id":"17","value":"123abc"}]的末尾,双撇号应为单引号,以便查询正常工作。

我究竟做错了什么? 我也尝试过使用mysql_real_escape_string ,它似乎不起作用。

我设法解决以下问题:

$query = 'UPDATE #__k2_items 
          SET extra_fields=\''.mysql_real_escape_string($campos_extra_updated).'\' 
          WHERE id='.$item_id;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM