我有数组 session ......
$_SESSION['Names'] = array (11,15,26);
$_SESSION['Location'] = array (35,42,10);
我想将它们存储在我的数据库中...
$que = "Insert into tblpeople (DateTimePosted, first, second, third) VALUES(now(),'$_SESSION['Names'][0], $_SESSION['Location'][0])','$_SESSION['Names'][1], $_SESSION['Location'][1])','$_SESSION['Names'][2], $_SESSION['Location'][2])')";
$exec = mysql_query($que);
保存后,我的数据库(tblpeople)显示以下值:
发布日期时间: 2014-01-03 16:23:02
第一个: 数组[0],数组[0]
第二个: 数组[1],数组[1]
第三个: 数组[2],数组[2]
相反,我希望我的输出是...
发布日期时间: 2014-01-03 16:23:02
第一: 11,35
第二: 15,42
第三: 26,10
出了什么问题?
最佳答案
要在字符串中展开多维数组,需要将它们括在大括号中:
$que = "Insert into tblpeople (DateTimePosted, first, second, third)
VALUES(now(),
'{$_SESSION['Names'][0]}, {$_SESSION['Location'][0]}',
'{$_SESSION['Names'][1]}, {$_SESSION['Location'][1]}',
'{$_SESSION['Names'][2]}, {$_SESSION['Location'][2]}')";
值中还有一些额外的括号。
但是,这似乎是一种将数据存储到数据库中的非常奇怪的方式。为什么每列中有两个值以逗号分隔,而不是将每个值拆分为单独的列?为什么要将数组元素存储到不同的列中,而不是使用单独的表将每个值放在一行中?
关于php - 将 session 数组存储在数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20943999/