在非对象上调用成员函数 select() : codeigniter over XAMPP
Posted
技术标签:
【中文标题】在非对象上调用成员函数 select() : codeigniter over XAMPP【英文标题】:Call to a member function select() on a non-object : codeigniter over XAMPP 【发布时间】:2021-06-10 05:32:51 【问题描述】:以下是我的设置和代码。
model.php
<?php
class Opinion_poll_model extends CI_Model
public function __construct()
$this->load->database();
public function total_votes()
$query = $this->db->select('COUNT(choice) as choices_count')->get('js_libraries');
return $query->row()->choices_count;
public function get_results()
$libraries = array("", "JQuery", "MooTools", "YUI Library", "Glow");
$table_rows = '';
for ($i = 1; $i < 5; $i++)
$sql_stmt = "SELECT COUNT(choice) choices_count FROM js_libraries WHERE choice = $i;";
$result = $model->select($sql_stmt); $table_rows .= "<tr><td>" . $libraries [$i] . " Got:</td><td><b>" . $result[0] . "</b> votes</td></tr>";
public function add_vote($choice)
$ts = date("Y-m-d H:i:s"); $data = array('choice' => $choice, 'ts' => $ts); $this->db->insert('js_libraries', $data);
?>
数据库.php
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = '';
$db['default']['database'] = 'opinion_poll';
$db['default']['dbdriver'] = 'mysql';
***暴露密码,因为它只是一个示例应用程序。
我已经通过 phpmyadmin 手动创建了一个 opinion_poll 数据库和表 js_libraries。
我想我在 xampp 和 codeigniter 的 db 配置中面临一些混淆。所以我遇到了错误。
A PHP Error was encountered
Severity: Notice
Message: Undefined variable: model
Filename: models/opinion_poll_model.php
Line Number: 23
Fatal error: Call to a member function select() on a non-object in C:\xampp\htdocs\ciopinionpoll\application\models\opinion_poll_model.php on line 23
【问题讨论】:
【参考方案1】:您正在使用范围内未定义的 $model。
尝试使用 $this->db->select($sql_stmt);
【讨论】:
以上是关于在非对象上调用成员函数 select() : codeigniter over XAMPP的主要内容,如果未能解决你的问题,请参考以下文章
Zend\Mail 标头:在非对象上调用成员函数 setType()
在非对象上调用成员函数 getClientOriginalName()
在非构造的“对象”上调用非虚拟成员函数是不是定义明确? [复制]