【发布时间】:2018-03-27 22:13:32
【问题描述】:
我一直致力于学习 PDO。基本上我想做的是显示一年中任何一天都下班的名字。
我创建了一个准备好的语句,它根据变量中设置的日期为我提供名称。它按预期工作。
我遇到的问题是在单独的页面上显示它。假设我的带有 PDO 语句的页面称为vacationnames.php
根据日期,我需要在名为 calendar1.php 或 calendar2.php...等的 4 个不同页面中的 1 个页面上显示这些名称。
这是我的代码: 假期名称.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'];
}
即使将“第一天” php 放在 calendar.php 上,使用 Vacationnames.php required_once 也没有结果。如果可能的话,我希望在 calendar.php 上用更少的代码引用它。
感谢收看。
【问题讨论】:
-
“我遇到的问题是在单独的页面上显示它。” - 您可以为此使用会话。然而,这听起来更像是一个超出范围的问题。
-
基本上,您的代码应该发出“未定义的变量 $sth”错误,因为正如您所猜测的,在 calendar.php 中看不到 $sth 的定义
-
日历页面的名称听起来应该只有 1 页,并且动态传入数字。
require_once在哪里调用?