Php 数组值不单独插入数据库

Php 数组值不单独插入数据库,php,arrays,insert,Php,Arrays,Insert,我不确定该如何表达,所以我将展示一个示例。我正在收集javascript中的输入值,并将其传递到我的php页面,在那里我试图将这些值插入数据库中 它不是插入单独的值,而是插入整个字符串 下面是我的javascript的一部分: var form = document.forms[0]; var txtS = form["bulletlabels"]; var len = txtS.length; var bulletlabels = ""; for(i=0;i<len;i++) {

我不确定该如何表达,所以我将展示一个示例。我正在收集javascript中的输入值,并将其传递到我的php页面,在那里我试图将这些值插入数据库中

它不是插入单独的值,而是插入整个字符串

下面是我的javascript的一部分:

var form = document.forms[0];
var txtS = form["bulletlabels"];
var len = txtS.length;
var bulletlabels = "";
for(i=0;i<len;i++) {
    bulletlabels += '"'+[i]+'_'+(txtS[i].value)+'_label",';
    }
这会将以下字符串插入到数据库中的一行中,但效果不理想:

“0批量标签”、“1房间标签”、“2浴室标签”、“3地下室标签”

但这是造成我困惑的关键——如果我手动键入字符串,它会根据需要插入到各个数据库行中

手动键入时,这会根据需要单独插入值:

$bulletlabels=数组(“0批量标签”、“1房间标签”、“2浴室标签”、“3地下室标签”)

不起作用并插入完整的连接字符串:
$bulletlabels=数组($\u POST['bulletlabels'])

希望我解释得足够好——我找不到数组

编辑:
修复尾随逗号:

var delim = "";
for(i=0;i<len;i++) {
bulletlabels += delim+[i]+'_'+(txtS[i].value)+'_label';
delim = ",";
}
var delim=”“;

对于(i=0;i尝试更改以下行:

$bulletlabels = array($_POST['bulletlabels']);

也不要在javascript中添加引号:

 bulletlabels += '"'+[i]+'_'+(txtS[i].value)+'_label",';
应该是

 bulletlabels += [i]+'_'+(txtS[i].value)+'_label,';
说明:

目前,$bulletlabels是一个包含一个元素的数组,而此元素是以下字符串:
“0\u批量大小\u标签”、“1\u房间\u标签”、“2\u浴室\u标签”、“3\u地下室\u标签”、
。但是,您希望有一个包含多个字符串的数组。这就是为什么需要使用将其转换为正确的数组的原因

注意:


请确保不要在标签名称中包含
,因为这将破坏此实现。如果您需要能够使用
,也应该使用json函数。

var_dump($bulletlabels);
您会发现这不是您所相信的。您可以做的是使用正确的json语法,然后使用
json_decode()
生成数组的已发布字符串从
$\u POST
数组中获取值后,使用
print\u r
var\u dump
查看您拥有的内容。我想您会发现它是一个只有一个元素的字符串数组。当然,这不起作用。在这种情况下,在答案中添加了使用json的提示。尽管我相信您应该无论如何,我都要使用JSON而不是解决方法,你不能改变OP的想法-答案很好,+1;)我尝试了你的解决方案,并考虑了你关于逗号问题的建议。请看我的编辑-我在这里找到了一个解决方案-但我希望这是可以接受的编码实践,因为我没有受过你所指的json函数的教育。我会记下你的答案,感谢你的解释!
 bulletlabels += '"'+[i]+'_'+(txtS[i].value)+'_label",';
 bulletlabels += [i]+'_'+(txtS[i].value)+'_label,';