php - 在php中使用json_encode的Mysql更新查询问题

标签 php mysql json

当我使用 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;

它将产生类似的数据,

UPDATE wp_experience SET exp_from ='2016-01-22 00:00:00' , exp_to = '2002-11-14 00:00:00' , exp_title = '{"en":" PSA Peugeot Citroën Automobiles, Mulhouse (F-68)","fr":"Technical Directué - FRENCH","de":"Responsable d'unité de maintenance"}', exp_desc = '{"en":" Test</p>","fr":" Test</p>","de":" H</p>"}' , exp_cat = '18' WHERE id =28

我遇到了这个问题,

1064 - 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 'unité de maintenance"}', exp_desc = '{"en":" Test</p>","fr":" Test</p' at line 1

如何解决这个问题?

最佳答案

某些嵌入的字符串会破坏您的查询,因此请使用 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;

关于php - 在php中使用json_encode的Mysql更新查询问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36158129/

相关文章:

php - php 中的 number_format() 与 jQuery 中的 toFixed() 进行验证

php - 如果未选中复选框,则删除数据库条目

php - mysql_real_escape_string 和邮政地址数据

php - 如何限制此 MySQL 查询的结果?

php - 无法从 PHP 上的 MySQL 响应中检索信息

php - 如何在 View 中打印 sql 计数?

MySQL group_concat() 按 case 语句值排序

json - C#中的JSON Web token

python - Pandas read_json : "If using all scalar values, you must pass an index"

java - Android HttpURLConnection接收HTTP 301响应代码