php - 将 JSON.stringify 中的值存储到 mysql

标签 php mysql arrays json post

我试图存储 html 表单中的值并通过 JSON.stringify 存储/发送到我的 php 文件,然后我的 PHP 文件将这些值写入数据库。

到目前为止,我已经成功接收了 $_POST 值,但它是在数组中吗,如下所示:

["Test","Test2","Test3","Test4"]

This is my PHP file now:
$array = $_POST["input"];
$i_ment = $array[0];
$odd_ment = $array[1];
$em_ment = $array[2];
$mobi_ment = $array[3];


mysql_query("INSERT INTO team VALUES ('$i_ment', '$odd_ment', '$em_ment', '$mobi_ment')")

但是传入 db 的值仍然是箭头,如下所示:

["Test","Test2","Test3","Test4"],["Test","Test2","Test3","Test4"],["Test","Test2","Test3","Test4"],["Test","Test2","Test3","Test4"]

最佳答案

接收 JSON 数据时,它只是一个字符串,而不是一个数组。

您必须先对其进行解码,然后才能实际使用它:

$array = json_decode($_POST["input"], true);

注意 true,它告诉 PHP 创建关联数组而不是对象。

另外:您不应该使用 mysql 函数,该函数已被弃用并在 PHP7 中被删除;并且您的代码容易受到 SQL 注入(inject)攻击。

mysqli_PDO 都提供参数化查询,可以保护您免受此类攻击。

关于php - 将 JSON.stringify 中的值存储到 mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40607653/

相关文章:

php - 拉维尔 : Many to many insertion

php - 在 PHP 中使用 Gruber 的正则表达式进行网址匹配

php - SELECT...IN ($csv) 还是遍历数组更好?

mysql - 获取每种类型的最新记录

java - 从 JSON 对象获取数组

c++ - 是否设置数组的某些字段,将其他字段设置为零?

php - HTML 表单停止重定向并允许 PHP 从 HTML 文件中调用 JavaScript

php - 未定义索引 : submission with html5

mysql - 如何在 MySQL 中合并 2 个相反顺序的结果集

javascript - 如何使用事件监听器向对象数组添加新元素并将其显示在 html 页面上