我是php和mysql的新手。我想在 mysql 和 php 的单个会话中插入多个值,但没有成功。下面是我的代码
if(!isset($_SESSION['sessionname']['value1']['value2']['value3'])) {
header("Location:index.php?page=admin");
}
$sql = "INSERT INTO table(value1, value2, value3) VALUES ('".mysqli_real_escape_string($dbconnect,$_SESSION['sessionname']['value1']['value2']['value3'])."')";
$qry = mysqli_query($dbconnect,$sql);
unset($_SESSION['sessionname']['value1']['value2']['value3']);`
您似乎正在尝试将 PHP 会话中的单个值插入到 MYSQL 表中的 3 列中。
$_SESSION['sessionname']['value1']['value2']['value3']` is an associative array. That statement does not reference 3 separate values, but a single nested value. Here's a little visualization.
$_SESSION
-> sessionname
-> value1
-> value2
-> value3
但我认为你打算抓住。
$_SESSION
-> sessionname
-> value, value2, value3
如果是这样,您需要做的是:
`$sql = "INSERT INTO table(value1, value2, value3) VALUES ('".mysqli_real_escape_string($dbconnect,$_SESSION['sessionname']['value1']) . "," . mysqli_real_escape_string($dbconnect,$_SESSION['sessionname']['value2']) . "," . mysqli_real_escape_string($dbconnect,$_SESSION['sessionname']['value3']) ."')";`
对于任何语法错误,我们深表歉意,因为HTML文本区域不是我首选的编辑器:)。
> $_SESSION 可以用作关联数组。您可以将数据推送到$_SESSION
变量中。
请记住每次需要访问会话数据时都使用session_start函数
session_start();
$_SESSION['db_data'] = array('value1', 'value2', 'valuex');
$value1 = $_SESSION['db_data']['value1'];