我是PHP和CodeIgniter的新手,我正在尝试使用codeIgniter的MVC模式从mysql表中获取数据。
我的模特课是:
<?php
class News_Model extends CI_Model
{
public function _construct()
{
$this->load->database();
}
public function get_news($id)
{
if($id!=FALSE)
{
$query= $this->db->get_where('news', array('id' => $id));
return $query->row_array();
}
else
{
return FALSE;
}
}
}
?>
我的database.php文件是:
$active_group = 'default';
$active_record = TRUE;
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = '';
$db['default']['database'] = 'user';
$db['default']['dbdriver'] = 'mysql';
$db['default']['port'] = '3306';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;
但是当我运行我的文件时,它显示以下错误:
Unable to connect to your database server using the provided settings.
Filename: C:\wamp\www\codeignite\system\database\DB_driver.php
Line Number: 124
我的mysql启动并运行,但我仍无法找出导致此错误的原因。
答案 0 :(得分:5)
仅用于调试您的问题:
转到system/database/mysql/mysql_driver
并在db_connect
方法中删除@ @mysql_connect($this->hostname, $this->username, $this->password, TRUE);
这会告诉你ddbb连接有什么问题,现在你会遇到什么问题。 之后,发布MySQL服务器错误。
答案 1 :(得分:1)
首先使用database.php末尾的脚本调试数据库连接
echo '<pre>';
print_r($db['default']);
echo '</pre>';
或者你可以改变
$ db [&#39;默认&#39;] [&#39; pconnect&#39;] = TRUE; - &GT; $ db [&#39;默认&#39;] [&#39; pconnect&#39;] = FALSE;
在/application/config/database.php
中答案 2 :(得分:1)
不知道它是否是复制粘贴错误,或者它对您的问题非常重要,但您在模型构造函数中只有一个下划线。
你应该这样尝试
public function __construct()
我知道这可能是一个评论但我无法发表评论。
答案 3 :(得分:1)
请在托管上设置文件database.php
的用户名和密码,没问题。
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'abaccc';
$db['default']['password'] = 'abaccc123';
$db['default']['database'] = 'abaccc';
$db['default']['dbdriver'] = 'mysql';
答案 4 :(得分:1)
只需运行你的mysql服务器。我有这样的错误。我运行我的mysql服务器,如果你已经安装它,请转到服务 - &gt; MySQL的/的mysqld / mysql2 /
或类似mysql的东西..选择自动并开始。