我正在学习在php中使用OOP,我遇到了一些可能是一个非常简单的解决方案的问题,我只是没有使用正确的搜索术语来查找。
我有我的班级
class user {
function getUser() {
if ($_SESSION['status'] == "authorized") {
$conn = new PDO( DB_DSN, DB_USERNAME, DB_PASSWORD );
$sql = "SELECT * FROM users WHERE username = :username";
$st = $conn->prepare( $sql );
$st->bindValue( ":username", $_SESSION['usernames'], PDO::PARAM_STR );
$st->execute();
$row = $st->fetch();
$conn = null;
return $row;
}
}
}
然后在我的模板文件中,我正在调用以下内容
$user = new user();
echo $user->getUser->icon;
希望底线显示我想要调用的内容,基本上在sql结果中我只是调用$ row ['icon'];直接来自返回数组。
这可能吗?若有,有人可以指出我缺少的术语提前致谢
答案 0 :(得分:1)
如果您要继续使用该对象,我会执行以下操作:
class user {
public $icon;
function getUser() {
if ($_SESSION['status'] == "authorized") {
$conn = new PDO( DB_DSN, DB_USERNAME, DB_PASSWORD );
$sql = "SELECT * FROM users WHERE username = :username";
$st = $conn->prepare( $sql );
$st->bindValue( ":username", $_SESSION['usernames'], PDO::PARAM_STR );
$st->execute();
$row = $st->fetch();
$conn = null;
$this->icon=$row;
}
}
}
然后你可以使用:
echo $user->icon;
答案 1 :(得分:1)
尝试以下方法:
print_r ($user->getUser);
如果返回一个数组,请尝试这样:
echo $user->getUser['icon'];
答案 2 :(得分:1)
你应该这样使用它:
$userobj = new User();
$user = $userobj->getUser();
现在,您在$user
变量中获取了数据,并可以随意输出:
echo $user['icon'];
我的示例应该与您现有的代码一起使用,如果您想在将来更改用户的值,只需更改echo语句中的键:echo $user['someothervalue'];