当我使用php-mysql更新数据时,遇到了一些问题,我的代码php代码在这里
$query = "UPDATE `wp_experience` SET
`exp_from` ='". $exp_from."' ,
`exp_to` = '". $exp_to."' ,
`exp_title` = '". json_encode($exp_title)."',
`exp_desc` = '". json_encode($exp_desc)."' ,
`exp_cat` = '". $exp_cat."'
WHERE `id` =".$oldid;
它将产生类似的数据
更新
wp_experience
SETexp_from
='2016-01-22 00:00:00',exp_to
='2002-11-14 00:00:00`,exp_title
='{"en":"PSA标致雪铁龙汽车,穆尔豪斯(F-68)","fr":"技术总监-法国","de":"负责维护的单位"}',exp_desc
='{"en":"测试<p> ","fr":"测试<p> ","de":"H<p> "}',exp_cat
='18',其中id
=28
我有这个问题,
1064-您的SQL语法出现错误;查看与MySQL服务器版本相对应的手册,了解在"维护单元"附近使用的正确语法,
exp_desc
="{"en":";测试<p>"fr":"测试<第1行处的p'
如何解决此问题??
一些嵌入的字符串会破坏查询,因此可以使用mysqli_real_escape_string()
或准备好的SQL语句:
$query = "
UPDATE
wp_experience
SET
exp_from = '" . $exp_from . "' ,
exp_to = '" . $exp_to . "' ,
exp_title = '" . mysqli_real_escape_string($con, json_encode($exp_title)) . "',
exp_desc = '" . mysqli_real_escape_string($con, json_encode($exp_desc)) . "' ,
exp_cat = '" . mysqli_real_escape_string($con, $exp_cat) . "'
WHERE
id = " . $oldid;