php—在数组变量中存储多个数据

nimxete2  于 2021-06-15  发布在  Mysql
关注(0)|答案(1)|浏览(429)

我需要一些在数组中存储数据的帮助。数组变量有问题 $_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
    )
eagi6jfj

eagi6jfj1#

你一定是签了名 $_SESSION['campaign'] 到代码中的某个字符串。无论你做了什么你都需要把它改成

$_SESSION['campaign'] = array('string value')

或者如果它是一个空字符串,那么就使用 array() 然后你就可以使用

$_SESSION['campaign'][] = $campaign;

在你的圈子里。

相关问题