【发布时间】:2020-09-09 08:28:22
【问题描述】:
我有一个 mysql 表,其中包含以下字段
STUDENTID | FIRSTNAME | SURNAME | DOB | SCHOOLID
表单用于用户搜索学生并输出所有匹配的名字和姓氏
以下 SQL 语句返回 PDO 罚款
$sqlstmnt2 = 'SELECT * FROM students WHERE firstName = :fname AND surname = :sname AND schoolID = :schoolID';
// prepare PDOstatement as $query ...
// ...
$query->execute();
$_SESSION['foundPupils'] = $query->fetchAll();
但是,当我将它传递到会话变量中的另一个 PHP 页面时,我对如何单独访问每个字段感到困惑。我有以下代码
foreach($_SESSION['foundPupils'][0] as $found){
echo($found);
}
这会输出找到的数据,但问题是它会输出两次,而且它只是一长串数据,无法很好地格式化。我的问题是:
为什么每个结果输出两次? 如何访问此数组中的各个字段(例如,类似于 foundPupils[0]['firstName']?
【问题讨论】:
-
您没有包含相关的代码。你在哪里以及如何设置
$_SESSION?根据您的获取模式,默认值将返回一个混合数组,其中包含数字键和索引键,两者都包含对应的列值。 -
你能告诉我们
var_export($_SESSION['foundPupils'][0])的输出吗?