如何将JSON代码导入MYSQL数据库?

我用jQuery自动完成function创建了这个表单。 自动完成列表中的所选品牌需要使用$ .ajax函数发送到PHP文件。 我的代码似乎不起作用,但我找不到错误。 我不知道为什么数据没有插入到MYSQL数据库中。 这是我的代码:

JQUERY:

$(document).ready(function() { $("#autocomplete").autocomplete({ minLength: 2 }); $("#autocomplete").autocomplete({ source: ["Adidas", "Airforce", "Alpha Industries", "Asics", "Bikkemberg", "Birkenstock", "Bjorn Borg", "Brunotti", "Calvin Klein", "Cars Jeans", "Chanel", "Chasin", "Diesel", "Dior", "DKNY", "Dolce & Gabbana"] }); $("#add-brand").click(function() { var merk = $("#autocomplete").val(); $("#selected-brands").append(" " + merk + ""); //Add your parameters here var param = JSON.stringify({ Brand: merk }); $.ajax({ type: "POST", async: true, url: "scripttohandlejson.php", contentType: "application/json", data: param, dataType: "json", success: function (good){ //handle success alert(good) }, failure: function (bad){ //handle any errors alert(bad) } }); return false; }); }); 

PHP文件: scripttohandlejson.php

  {'Brand'}; $vraag = "INSERT INTO kijken (merk) VALUES ('$data_s')"; $voerin = mysql_query($vraag) or die("couldnt put into db"); <? 

 $arr_content = json_decode($json, true); $brand = $arr_content["Brand"]; $vraag = "INSERT INTO kijken (merk) VALUES ('" . $brand . "')"; 

编辑:

问题:在您的示例中,您的json_decode返回一个关联数组,因为您在函数调用中有参数’true’。 但是在下一行中,您试图通过尝试访问“它的’BRAND’属性来尝试将结果用作对象。

您所要做的就是从json_decode函数调用中删除true ,或者使用上面的代码。

注意:也编辑了SQL语句。

json_decode返回一个对象,而不是一个字符串,并且您正在尝试将其用作字符串,因此您可能在数据库中插入类似“Object()”的内容。

也许你可以做$ data_s = mysql_escape_string($ getcontent [‘Brand’]); 然后使用$ data_s代替。

PHP文件: scripttohandlejson.php

   

我没有检查其他可能的错误(比如……如果这个SQL有效吗?)。

无需将数据作为JSON发送。

在JS中更改此内容:

  //Add your parameters here var param = JSON.stringify({ Brand: merk }); 

至:

  var param ={Brand: merk}; 

在PHP将收到它:

  $brand= $_POST['Brand'];