【发布时间】:2014-07-10 12:36:19
【问题描述】:
]我完全不知道为什么下面的代码不返回值。我有 2 个相互关联的 sql 表。在一个类中,我有以下方法,并且在该方法的范围内一切都很好。 var 转储显示正确的数据。 class.php 中说明了以下代码。
public function getId($username, $password) {
if (isset($_SESSION['username'])) {
$sql = "SELECT person_id FROM user WHERE username = ?";
$stmt = $this->dbh->prepare($sql);
$stmt->bindParam(1, $_SESSION['username']);
$stmt->execute();
$id = $stmt->fetch(PDO::FETCH_NUM);
$id = $id[0];
}
ELSE {
echo "Failed to retreive person_id";
}
var_dump($id);
return $id[0];
}
但是,当我将该值返回给作为主文档的 showinfo.php 并声明以下内容时:
$user_id = $id[0];
var_dump($user_id);
然后 var 转储回显“NULL”。我需要它用于同样在 class.php 中的以下方法。
public function showInfo($user_id) {
$sql = "SELECT * FROM person WHERE person_id = ?";
$stmt = $this->dbh->prepare($sql);
$stmt->bindParam(1, $user_id);
$stmt->execute();
$result = $stmt->fetch(PDO::FETCH_ASSOC);
foreach ($result as $row) {
echo "<pre>".print_r ($row, true)."</pre>";
}
}
谁能告诉我如何完成这项工作? 非常感谢您花时间和精力帮助我。
【问题讨论】:
标签: php sql class include extends