我需要一些在数组中存储数据的帮助。数组变量有问题 $_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
)
1条答案
按热度按时间eagi6jfj1#
你一定是签了名
$_SESSION['campaign']
到代码中的某个字符串。无论你做了什么你都需要把它改成或者如果它是一个空字符串,那么就使用
array()
然后你就可以使用在你的圈子里。