Php 尝试使用OOP类从数据库中获取多条记录
因此,我遵循了一个关于如何在OOP中创建登录系统的教程。现在,我在同一台MySQL服务器上使用多个数据库。我想在需要时从所有数据库中获取记录 问题是,我现在不知道该怎么做 我有以下代码:Php 尝试使用OOP类从数据库中获取多条记录,php,mysql,oop,Php,Mysql,Oop,因此,我遵循了一个关于如何在OOP中创建登录系统的教程。现在,我在同一台MySQL服务器上使用多个数据库。我想在需要时从所有数据库中获取记录 问题是,我现在不知道该怎么做 我有以下代码: public function __construct($user = null) { $this->_db = DB::getInstance(); $this->_sessionName = Config::get('session/session_name')
public function __construct($user = null) {
$this->_db = DB::getInstance();
$this->_sessionName = Config::get('session/session_name');
if(!$user) {
if(Session::exists($this->_sessionName)) {
$user = Session::get($this->_sessionName);
if($this->find('users', $user)) {
$this->_isLoggedIn = true;
//$this->find('digi_settings.settings_pin', $user);
} else {
// process logout
}
}
} else {
$this->find($user);
}
}
public function find($table, $user = null) {
if($user) {
$field = (is_numeric($user)) ? 'id' : 'username';
$data = $this->_db->get($table, array($field, '=', $user));
if($data->count()) {
$this->_data = $data->first();
return true;
}
}
return false;
}
public function data() {
return $this->_data;
}
if($data->count()) {
$this->_data = $data->first();
return true;
}
我注释掉了我添加的代码行。我的线路应该从digi\u设置
数据库和settings\u pin
表中获取信息
这一切都很好,但当我试图从原始数据库和表(即digi\u users.users
)中获取信息时,它不会显示这些信息,而只显示digi\u设置
数据库中的信息
例如,echo$user->data()->active==='yes'?'选中“:”
可以正常工作,但是回声转义($user->data()->username)代码>不会
在本例中,active
是digi\u设置中的一行。settings\u pin
数据库和表,而username
是digi\u users.users
数据库和表中的一行
我正在使用以下代码查找用户:
public function __construct($user = null) {
$this->_db = DB::getInstance();
$this->_sessionName = Config::get('session/session_name');
if(!$user) {
if(Session::exists($this->_sessionName)) {
$user = Session::get($this->_sessionName);
if($this->find('users', $user)) {
$this->_isLoggedIn = true;
//$this->find('digi_settings.settings_pin', $user);
} else {
// process logout
}
}
} else {
$this->find($user);
}
}
public function find($table, $user = null) {
if($user) {
$field = (is_numeric($user)) ? 'id' : 'username';
$data = $this->_db->get($table, array($field, '=', $user));
if($data->count()) {
$this->_data = $data->first();
return true;
}
}
return false;
}
public function data() {
return $this->_data;
}
if($data->count()) {
$this->_data = $data->first();
return true;
}
我觉得我遇到的问题与这行代码有关:
public function __construct($user = null) {
$this->_db = DB::getInstance();
$this->_sessionName = Config::get('session/session_name');
if(!$user) {
if(Session::exists($this->_sessionName)) {
$user = Session::get($this->_sessionName);
if($this->find('users', $user)) {
$this->_isLoggedIn = true;
//$this->find('digi_settings.settings_pin', $user);
} else {
// process logout
}
}
} else {
$this->find($user);
}
}
public function find($table, $user = null) {
if($user) {
$field = (is_numeric($user)) ? 'id' : 'username';
$data = $this->_db->get($table, array($field, '=', $user));
if($data->count()) {
$this->_data = $data->first();
return true;
}
}
return false;
}
public function data() {
return $this->_data;
}
if($data->count()) {
$this->_data = $data->first();
return true;
}
我看过一些其他的例子,但这些对我帮助不大
欢迎任何提示或提示
谢谢 你使用什么框架?答案可能在它的文档中。@Asenar我真的弄明白了,谢谢!你使用什么框架?答案可能在它的文档中。@Asenar我真的弄明白了,谢谢!