php - 将 session 数组存储在数据库中

标签 php mysql arrays

我有数组 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/

相关文章:

php - SQL where 子句不起作用

php - 接收 "Deployment Role Instances Not In Started State After 30 seconds"Azure PHP

mysql - 如何使用MySQL连接两个表的多个字段?

c - 循环遍历数组并将某些值分配给另一个数组

php - 多选字段仅提交最后选择的选项

php - ARRAY_RAND 始终具有相同的输出

PHP 无法从回调内部重定向

mysql - 为什么这个查询运行得这么慢?

java - 如何为每个 sql 记录创建单独的输出文件?

php - 如何在局域网上部署 PHP 应用程序?