it-swarm.com.de

Sie haben einen ungültigen Codeigniter-Fehler der Datenbankverbindungsgruppe angegeben

ich mache eine CRUD aus einem Tutorial. Und ich bekomme diesen Fehler.

Sie haben eine ungültige Datenbankverbindungsgruppe angegeben.

Was wäre das Problem?

database.php - Datenbankkonfiguration

$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 - controller

<?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-Ansichten

<!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>
9
Beabi

Sie laden eine Datenbankgruppe mit dem Namen circrud. Es gibt jedoch keine Datenbankgruppe, die so genannt wird. Sie haben nur eine Gruppe namens default, die standardmäßig geladen wird, wenn Sie keine Gruppe angeben.

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

Du solltest es einfach tun 

$this->load->database(); in diesem Teil des Codes:

class Users_model extends CI_Model {

function __construct()

{

parent::__construct();

$this->load->database();

}
17
WebNovice

Sie verwenden hier bereits die Datenbankgruppe "cicrud" in Ihrer Datenbankverbindung:

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

Sie können es also ändern in:

$this->load->database();

Oder Sie können Ihre Konfiguration folgendermaßen ändern:

$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;

Sehen Sie, was für Sie besser ist.

4
Paul Denisevich
$autoload['libraries'] = array('database','session');

fügen Sie dies in config/autoload.php hinzu 

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

fügen Sie dies im Modell hinzu

0
Syed Ali