2013-10-11 61 views
7

我正在從教程製作一個CRUD。我得到這個錯誤。您指定了無效的數據庫連接組codeigniter錯誤

您指定了無效的數據庫連接組。

會是什麼問題?

database.php中 - 數據庫配置

$db['default']['hostname'] = 'localhost'; 
$db['default']['username'] = 'root'; 
$db['default']['password'] = ''; 
$db['default']['database'] = 'cicrud'; 
$db['default']['dbdriver'] = 'mysql'; 
$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; 

users_model.php -model

<?php 

class Users_model extends CI_Model { 

function __construct() 

{ 

parent::__construct(); 

$this->load->database('cicrud'); 

} 

public function get_all_users() 

{ 

$query = $this->db->get('users'); 

return $query->result(); 

} 
public function insert_users_to_db($data) 

{ 

return $this->db->insert('users', $data); 

} 

} 

?> 

users.php - 控制器

<?php 

if (! defined('BASEPATH')) exit('No direct script access allowed'); 

class Users extends CI_Controller { 

function __construct() 

{ 

parent::__construct(); 

#$this->load->helper('url'); 

$this->load->model('users_model'); 

} 

public function index() 

{ 

$data['user_list'] = $this->users_model->get_all_users(); 

$this->load->view('show_users', $data); 

} 
public function add_form() 

{ 

$this->load->view('insert'); 

} 
public function insert_new_user() 

{ 

$udata['name'] = $this->input->post('name'); 

$udata['email'] = $this->input->post('email'); 

$udata['address'] = $this->input->post('address'); 

$udata['mobile'] = $this->input->post('mobile'); 

$res = $this->users_model->insert_users_to_db($udata); 

if($res){ 

header('location:'.base_url()."index.php/users/".$this->index()); 

} 

} 
} 

show_users.php - HTML視圖

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 

<head> 

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 

<title>CI CRUD</title> 

<script type="text/javascript"> 

function show_confirm(act,gotoid) 

{ 

if(act=="edit") 

var r=confirm("Do you really want to edit?"); 

else 

var r=confirm("Do you really want to delete?"); 

if (r==true) 

{ 

window.location="<?php echo base_url();?>index.php/users/"+act+"/"+gotoid; 

} 

} 

</script> 

</head> 

<body> 

<h2> Simple CI CRUD Application </h2> 

<table width="600" border="1" cellpadding="5"> 

<tr> 

<th scope="col">Id</th> 

<th scope="col">User Name</th> 

<th scope="col">Email</th> 

<th scope="col">Mobile</th> 

<th scope="col">Address</th> 

<th scope="col" colspan="2">Action</th> 

</tr> 

<?php foreach ($user_list as $u_key){ ?> 

<tr> 

<td><?php echo $u_key->id; ?></td> 

<td><?php echo $u_key->name; ?></td> 

<td><?php echo $u_key->email; ?></td> 

<td><?php echo $u_key->address; ?></td> 

<td><?php echo $u_key->mobile; ?></td> 

<td width="40" align="left" ><a href="#" onClick="show_confirm('edit',<?php echo $u_key->id;?>)">Edit</a></td> 

<td width="40" align="left" ><a href="#" onClick="show_confirm('delete',<?php echo $u_key->id;?>)">Delete </a></td> 

</tr> 

<?php }?> 

<tr> 

<td colspan="7" align="right"> <a href="<?php echo base_url();?>index.php/user/add_form">Insert New User</a></td> 

</tr> 

</table> 

</body> 

</html> 

回答

16

您正在載入數據庫組稱爲circrud。但是沒有數據庫組叫做這個。您唯一擁有的是名爲default的組,如果您未指定組,則將默認加載該組。

$this->load->database('cicrud');

你應該只是做

$this->load->database();在這部分代碼:您的數據庫連接這裏

class Users_model extends CI_Model { 

function __construct() 

{ 

parent::__construct(); 

$this->load->database(); 

} 
+0

謝謝!!!它的工作:) – Beabi

+0

謝謝borther ... –

+0

謝謝。現在它工作:) –

4

你已經在使用數據庫組 「cicrud」:

$this->load->database('cicrud'); 

所以你可以把它改成:

$this->load->database(); 

也可以將您的配置改成這樣:

$db['cicrud']['hostname'] = 'localhost'; 
$db['cicrud']['username'] = 'root'; 
$db['cicrud']['password'] = ''; 
$db['cicrud']['database'] = 'cicrud'; 
$db['cicrud']['dbdriver'] = 'mysql'; 
$db['cicrud']['dbprefix'] = ''; 
$db['cicrud']['pconnect'] = TRUE; 
$db['cicrud']['db_debug'] = TRUE; 
$db['cicrud']['cache_on'] = FALSE; 
$db['cicrud']['cachedir'] = ''; 
$db['cicrud']['char_set'] = 'utf8'; 
$db['cicrud']['dbcollat'] = 'utf8_general_ci'; 
$db['cicrud']['swap_pre'] = ''; 
$db['cicrud']['autoinit'] = TRUE; 
$db['cicrud']['stricton'] = FALSE; 

看看什麼是對你更好。