使用PHP将JS数组插入MySQL的最简单方法

时间:2017-04-07 01:23:11

标签: javascript php mysql arrays insert

UPDATE !!我的代码实际上有效运行。原始问题如下。如果您仍然好奇,请阅读问题,然后返回阅读我的更新。

我的不好,db在代码运行后实际上可以成功更新。我不小心将表中的数据类型设置为INT,但我的初始意图是varchar。

但是从HenryDev的回答中我设法通过php中的post方法找到获取的数组变为STRING类型但是数组类型。我用了

$cameArray = $_POST['cameArray'];
echo gettype($cameArray);

输出"字符串"在我的屏幕上,所以内爆不会起作用哦(参见有关HenryDev的回答的讨论)。

然而,如果你在PHP中设置一个数组并将其内爆,那么他的答案将作为一个魅力,它会给你一个"字符串类型"你的阵列!

UPDATE !!我的代码实际上有效运行。原始问题如下。如果您仍然好奇,请阅读问题,然后返回阅读我的更新。

这是我原来的问题

所以我有一个非常基本的问题,但我在网上找到的教程和答案对我的情况来说有点复杂。

我有一个像

这样的JS数组
var sentArray = ['1','2','3'];

我想将此数组作为表的一个字段插入数据库。我使用ajax将此数组发送到PHP,然后在PHP中执行查询。例如,

$cameArray = $_POST['cameArray']; //then $cameArray is sentArray

mysqli_query($con, "INSERT INTO thisTable (arrayField) VALUES ($cameArray)");

然后我希望数据库中的值显示为" 1,2,3和#34;但问题是数据库中的值只是显示为单个" 2" 。表中的类型是varchar。

没有任何JSON对象只涉及纯文本。我怎么能这样做?谢谢!

2 个答案:

答案 0 :(得分:1)

这是一个快速的解决方案。如果要将数组存储为字符串,只需在PHP代码中执行此操作。

$array = array('1', '2', '3'); // Your array  
$cameArray = implode(",", $array);

echo $cameArray; // "1,2,3"    

现在,您可以将变量$cameArray存储在数据库中。希望它有所帮助!

答案 1 :(得分:0)

我的不好,db在代码运行后实际上可以成功更新。我不小心将表中的数据类型设置为INT,但我的初始意图是varchar。

但是从HenryDev的回答我设法在php中通过post方法找到获取的数组变为STRING类型但是数组类型。我用了

$cameArray = $_POST['cameArray'];
echo gettype($cameArray);

在我的屏幕上输出“string”,因此内爆不会起作用哦(参见关于HenryDev答案的讨论)。

然而,如果你在PHP中设置一个数组并将其内爆,那么他的答案将作为一个魅力,它将为你提供一个阵列的“字符串类型”!