将值从JSON.stringify存储到mysql

时间:2016-11-15 10:37:20

标签: php mysql arrays json post

我正在尝试将来自html表单的值存储并通过JSON.stringify存储/发送到我的php文件,然后我的PHP文件将这些值写入DB。

到目前为止,我已经设法接收$ _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"]

1 个答案:

答案 0 :(得分:2)

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

你必须先解码它才能真正使用它:

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

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

另外:你不应该使用mysql - 函数,这些函数已被弃用且已删除PHP7;并且您的代码容易受到SQL注入的攻击。<​​/ p>

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