我有一个对象从 Javascript 传递到 PHP(通过 AJAX):
var jsObject = {
"name": "Michael Divo",
"age": 27,
"country": "United States"
};
jsObject_json = JSON.stringify( jsObject );
$.ajax({
type: "POST",
dataType: 'json',
url: "http://www.example.com/myserver.php",
data: { mydata: jsObject_json },
}) ...
在 myserver.php 中:
$json = json_decode($_POST["mydata"], true);
然后如果我从这个 PHP 端将 $json
保存到 MySQL 中,它被保存为:
Array
.. 在数据库中,作为字符串的“数组”。
那么我该如何正确地将这个 JSON 保存到 MySQL 中呢?(以便我以后可以将它作为 JSON 检索回来并读取。)
最佳答案
如果您只想将其作为 JSON 拉回,则不要通过 json_decode
运行它。将其保留为字符串。
然而,最明智的系统将具有一个数据库结构,允许单独处理 JSON 提交中的每个字段。然后您将访问每个字段并将其添加到 INSERT 查询中它自己的列中。然后,您可以对“给我所有数据”之外的数据执行查询(例如,WHERE country = 'United States'
)。
$preparedStatement = $db->prepare('INSERT INTO data (name, age, country) VALUES (:name, :age, :country)');
$preparedStatement->execute(json_decode($_POST["mydata"], true));
关于javascript - PHP 通过 Ajax 为来自 Javascript "JSON.stringify"的对象保存在 MySQL 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24184293/