Мне нужна помощь с хранением данных в массивах.У меня проблема с переменной массива $_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
)