如何将PHP数组插入SQL数据库

时间:2016-01-10 22:30:13

标签: php mysql arrays sql-server

我正在尝试将php数组插入sql数据库,如下所示:

$i=1    
$sql="INSERT INTO table(itemname) VALUES ('$_SESSION[someVariable][$i]')";

但是,数据库中的名称始终为Array[1]。它不是$_SESSION[someVariable][$i]

中包含的值

我想知道是否还有声明这个?我知道我搞砸了报价

2 个答案:

答案 0 :(得分:7)

如果在字符串中嵌入数组项,请确保用大括号包含它们:

$sql="INSERT INTO table(itemname) VALUES ('{$_SESSION[$somevariable][$i]}')";

或者,使用字符串连接:

$sql="INSERT INTO table(itemname) VALUES ('" . $_SESSION[$somevariable][$i] . "')";

或临时变量:

$itemname = $_SESSION[$somevariable][$i];
$sql="INSERT INTO table(itemname) VALUES ('$itemname')";

PS,我已将i1替换为$somevariable。在评论讨论后,您已将其更改为somevariable,但作为变量,当然需要$

答案 1 :(得分:3)

您需要花括号才能在字符串中使用数组:

$sql="INSERT INTO table(itemname) VALUES ('{$_SESSION[i1][$i]}')";

您获得Array[1]的原因是因为数组正在转换为字符串Array$i为1。