数据库查询 return stdClass组成的数组
database query return an array composed of stdClass
我在从记录中获取价值时遇到了问题。
这是我想要做的:
1. 从数据库中获取一条记录
2.将查询结果转为数组
3. 显示数组[0],但出现错误undefined offset:1
var_dump() : array(1) { [0]=> object(stdClass)#23 (1) { ["nama"]=> string(9) "Test Name" } }
自己尝试查询,return一条记录:
|用户名|名字|
|Testuser|Testnama|
那么我怎样才能得到 'Testuser'?
model/verify_login_model
function getinfo($username) {
$this->db->select('nama', 'username');
$this->db->from('tb_userInfo');
$this->db->where('username', $username);
$this->db->limit(1);
$result = $this->db->get();
if($result->num_rows()==1) {
return $result->result();
} else {
return false;
}
}
controller/verify_login
public function index(){
$this->load->model('verify_login_model');
$username = $this->input->post('username');
$password = $this->input->post('password');
$result = $this->verify_login_model->verify($username, $password);
if($result == $username) {
$row = $this->verify_login_model->getinfo($username);
echo var_dump($row);
$sessiondata = array('name'=>$row[0], 'username'=>$row[1]);
$this->session->set_userdata($sessiondata);
$name = $sessiondata['name'];
$this->load->view('home_view', $name);
} else {
redirect('login');
}
}
view/home_view
<html>
<head></head>
<body>
welcome, <?php echo $name?>
</body>
</html>
您的模型returns您使用的对象数组
return $result->result();
为了将结果作为普通数组使用:
return $result->result_array();
阅读有关生成查询结果的更多信息here
根据CI查询结果显示
https://ellislab.com/codeigniter/user-guide/database/results.html
->result()这个函数returns将查询结果作为对象数组,
stdClass 怎么样 - 在此处查看
要获得结果,您必须按照以下步骤进行操作
$sessiondata = array('name'=>$row[0]->nama, 'username'=>$row[0]->yourfield);
将其可视化有点像 array(1) { [0]=> object(stdClass)#23 (1) { Your query result } }
并获取指向对象 $var[0]->Object
的数据。但是您也可以更改为 result_array() 并将其视为数组而不是现在的对象。
为result_array()
$sessiondata = array('name'=>$row[0]['nama'], 'username'=>$row[0]['yourfield']);
希望对您有所帮助。
我在从记录中获取价值时遇到了问题。 这是我想要做的: 1. 从数据库中获取一条记录 2.将查询结果转为数组 3. 显示数组[0],但出现错误undefined offset:1
var_dump() : array(1) { [0]=> object(stdClass)#23 (1) { ["nama"]=> string(9) "Test Name" } }
自己尝试查询,return一条记录: |用户名|名字| |Testuser|Testnama|
那么我怎样才能得到 'Testuser'?
model/verify_login_model
function getinfo($username) {
$this->db->select('nama', 'username');
$this->db->from('tb_userInfo');
$this->db->where('username', $username);
$this->db->limit(1);
$result = $this->db->get();
if($result->num_rows()==1) {
return $result->result();
} else {
return false;
}
}
controller/verify_login
public function index(){
$this->load->model('verify_login_model');
$username = $this->input->post('username');
$password = $this->input->post('password');
$result = $this->verify_login_model->verify($username, $password);
if($result == $username) {
$row = $this->verify_login_model->getinfo($username);
echo var_dump($row);
$sessiondata = array('name'=>$row[0], 'username'=>$row[1]);
$this->session->set_userdata($sessiondata);
$name = $sessiondata['name'];
$this->load->view('home_view', $name);
} else {
redirect('login');
}
}
view/home_view
<html>
<head></head>
<body>
welcome, <?php echo $name?>
</body>
</html>
您的模型returns您使用的对象数组
return $result->result();
为了将结果作为普通数组使用:
return $result->result_array();
阅读有关生成查询结果的更多信息here
根据CI查询结果显示
https://ellislab.com/codeigniter/user-guide/database/results.html
->result()这个函数returns将查询结果作为对象数组,
stdClass 怎么样 - 在此处查看
要获得结果,您必须按照以下步骤进行操作
$sessiondata = array('name'=>$row[0]->nama, 'username'=>$row[0]->yourfield);
将其可视化有点像 array(1) { [0]=> object(stdClass)#23 (1) { Your query result } }
并获取指向对象 $var[0]->Object
的数据。但是您也可以更改为 result_array() 并将其视为数组而不是现在的对象。
为result_array()
$sessiondata = array('name'=>$row[0]['nama'], 'username'=>$row[0]['yourfield']);
希望对您有所帮助。