php - 在数组变量中存储多个数据
问题描述
我需要一些帮助来将数据存储在数组中。我遇到了数组变量的问题$_SESSION
,因为它一次只允许我存储一个数据,而它已经覆盖了数据。
当我尝试这个时:
$link = mysqli_connect('localhost', 'mydbusername', 'mydbpassword', 'mydbname');
$campaign_db = "SELECT campaign_name FROM campaign WHERE username = 'myusername'";
if($stmt = mysqli_prepare($link, $campaign_db))
{
// Set parameters
$param_username = $_SESSION['username'];
// Attempt to execute the prepared statement
if(mysqli_stmt_execute($stmt))
{
// Bind variables to the prepared statement as parameters
mysqli_stmt_execute($stmt);
$results = mysqli_stmt_get_result($stmt);
while ($rows = mysqli_fetch_array($results, MYSQLI_NUM))
{
foreach ($rows as $campaign)
{
$_SESSION['campaign'] = $campaign;
}
}
}
print_r($_SESSION);
// Close statement
mysqli_stmt_close($stmt);
}
我只会得到这个:
Array
(
[campaign] => facebook
)
它应该是:
Array
(
[campaign] => somename [campaign] => youtube [campaign] => google [campaign] => linkedlin [campaign] => bing [campaign] => facebook
)
我试过这个:
$_SESSION['campaign'][] = $campaign;
它给了我一个错误:致命错误:未捕获的错误:字符串不支持 [] 运算符。堆栈跟踪:#0 {main} 抛出。
你能告诉我一个例子,我如何在变量的数组中插入和存储超过 1 个数据$_SESSION
?
编辑:当我尝试这个时:
while ($rows = mysqli_fetch_array($results, MYSQLI_NUM))
{
$_SESSION['campaign'] = array($rows);
)
我也试过这个:
while ($rows = mysqli_fetch_array($results, MYSQLI_NUM))
{
foreach ($rows as $campaign)
{
$_SESSION['campaign'] = array($campaign);
}
)
它仍然给我这个:
[campaign] => Array
(
[0] => facebook
)
解决方案
您必须已$_SESSION['campaign']
在代码中的某处初始化为字符串。无论您在哪里执行此操作,都需要将其更改为
$_SESSION['campaign'] = array('string value')
或者如果它是一个空字符串,那么只需使用array()
然后你就可以使用
$_SESSION['campaign'][] = $campaign;
在你的循环中。
推荐阅读
- jenkins - 没有找到类 hudson.plugins.testlink.TestLinkResult 的“sidepanel.jelly”页面
- spring-data-jpa - java.lang.AssertionError:JSON 路径“$[0].sClientAcctId”处没有值
- sql - 使用 SSIS 将 excel 数据插入 SQL Server
- javascript - Dropzone.js 配置选项无法识别
- angular - 打字稿查询字符串值到 GUID
- alpha - kubeadm alpha 阶段 etcd 本地 - 使用 localhost 绑定而不是主机 ip 创建 etcd
- python - 添加嵌套包以安装需要,setup.py
- jdk1.7 - jdk1.7 Double.parseDouble 在计算量大的多线程条件下变慢
- c# - 视频时长是应有的两倍
- centos7 - 在没有 Sudo 的情况下启动 haproxy:启动前端 http-in:无法绑定套接字