Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php中转义单引号mysql查询_Php_Mysql_Sql_Joomla - Fatal编程技术网

在php中转义单引号mysql查询

在php中转义单引号mysql查询,php,mysql,sql,joomla,Php,Mysql,Sql,Joomla,我有以下疑问: $query = 'UPDATE #__k2_items SET extra_fields=\''.$campos_extra_updated.'\' WHERE id='.$item_id; $campos\u extra\u updated包含以下值,在尝试转义引号之前,我可以使用其他查询检索该值: UPDATE ikyfb_k2_items SET extra_fields = "[{"id":"2","value":"Ser

我有以下疑问:

$query = 'UPDATE #__k2_items 
          SET extra_fields=\''.$campos_extra_updated.'\' 
          WHERE id='.$item_id;
$campos\u extra\u 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\u real\u escape\u string,但它似乎不起作用

我用以下方法解决了这个问题:

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

你做错了什么?例如,不使用…@NiettheDarkAbsol你说的准备好的查询是什么意思?而且
$query
var没有生成那个输出。你在使用什么
mysql\u real\u escape\u string
?你应该用Joomla的API@Lodder我四处看了看,什么都找不到,你能告诉我是哪种Joomla API吗?使用JDatabase和JDatabaseQuery。