无法让我的PDO查询显示在另一个页面上

时间:2017-10-16 11:41:30

标签: php mysql pdo

我一直在努力学习PDO。基本上我要做的是显示在一年中的任何一天都没有工作的名字。

我创建了一个准备好的语句,根据变量中设置的日期为我提供名称。它按预期工作。

我遇到的问题是在单独的页面上显示。让我说我的PDO语句页面叫做vacationnames.php

根据日期的不同,我需要在名为calendar1.php或calendar2.php等的4个不同页面之一上显示这些名称。

这是我的代码: vacationnames.php

$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
$opt = [
PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES   => false,
];
$db = new PDO($dsn, $user, $pass, $opt);

$sth = $db->prepare("
SELECT (employee.name)Name
, vacation_picks._date1 as Date
FROM employee
LEFT OUTER JOIN
vacation_picks on
employee.employee_id = vacation_picks.employee_id
WHERE vacation_picks._date1 = :day
");

这是在calendar.php页面之一     

$myVariable = ('2017-1-1');
// This executes the SQL query, binding the parameter as we go.
$sth->execute(array(
':day' => $myVariable
));

// echo $myVariable;
foreach($sth as $row) { 
 echo $row['Name'];
} 

甚至将带有vacationnames.php required_once的'Day One'php放在calendar.php上也没有结果。如果可能的话,我希望在calendar.php上使用更少的代码引用它。

感谢您的光临。

1 个答案:

答案 0 :(得分:-1)

您可以使用SESSIONS。将您的帖子值存储到SESSION变量中,然后如果页面顶部包含session_start(),则可以在站点中的任何位置调用该变量

以下是手册的链接 - http://php.net/manual/en/reserved.variables.session.php

例如

$_SESSION['name'] = $_POST['firstname'];

我希望这能让你前进