PHP-使用类获取用户信息
假设与数据库的连接以及对表和单元格的所有引用都是正确的。。。我怎么能让这样的东西工作呢PHP-使用类获取用户信息,php,class,fetch,Php,Class,Fetch,假设与数据库的连接以及对表和单元格的所有引用都是正确的。。。我怎么能让这样的东西工作呢 class User { private $_display; private $_email; public function __construct($username) { $fetch_user = mysql_query("SELECT * FROM `registered_users` WHERE `user_name`
class User
{
private $_display;
private $_email;
public function __construct($username)
{
$fetch_user = mysql_query("SELECT * FROM `registered_users` WHERE `user_name`='$username'");
$fetch_user = mysql_fetch_array($fetch_user);
$this->_display = $fetch_user['user_display'];
$this->_email = $fetch_user['user_email'];
}
}
$person1 = new User('username');
echo "Information: " . print_r($person1, TRUE);
问题是它什么也不返回。调试时不会抛出错误或任何东西。但这是可行的方法吗下面是我大致要做的:
<?php
class User{
private $username;
private $data;
public function __construct($username){
$this->username = $username;
if($this->valid_username()){
$this->load();
}
}
private function load(){
// Let's pretend you have a global $db object.
global $db;
$this->data = $db->query('SELECT * FROM registered_users WHERE user_name=:username', array(':username'=>$this->username))->execute()->fetchAll();
}
public function save(){
// Save $this->data here.
}
/**
* PHP Magic Getter
*/
public function __get($var){
return $this->data[$var];
}
/**
* PHP Magic Setter
*/
public function __set($var, $val){
$this->data[$var] = $val;
}
private function valid_username(){
//check $this->username for validness.
}
// This lets you use the object as a string.
public function __toString(){
return $this->data['user_name'];
}
}
警告,您的代码可能容易受到sql注入攻击。哪些攻击不起作用?你想发生什么?为您的问题添加一些特殊性,以便我们能给出更好的答案。$person1->\u display$person1->\u电子邮件代码>应打印您想要的内容,以避免堆栈溢出!请不要对新代码使用mysql.*
函数。它们不再得到维护,社区已开始恢复。看到了吗?相反,你应该学习并使用或。如果你不能决定,将帮助你做出选择。如果你想学的话,谢谢大家,问题是它一无所获。调试时不会抛出错误或任何东西。但这是可行的方法吗SPHP魔法getter和setter非常适合这些类型的对象。
<?php
$user = new User('donutdan');
echo $user->name; //will echo 'dan'
$user->name = 'bob';
$user->save(); // will save 'bob' to the database