如何在Codeigniter中使用MySQLi驱动程序

ble*_*ang 8 php mysqli codeigniter

嗨,我有点新手,我想问一下这里有代码签名框架和PHP的专家.

如何在php本机查询中使用mysqli驱动程序?例如.

我的代码:

模型

class Home_model extends CI_Model{

public function getusers(){
$q = "SELECT * FROM `users`";
return $r = mysqli_query($q);
}

}
Run Code Online (Sandbox Code Playgroud)

控制器:

class Home extends CI_Controller{
public function iterateuser(){
while($row = mysqli_fetch_object($this->Home_model->getusers())){
echo $row->username;
}

}
Run Code Online (Sandbox Code Playgroud)

我上面的代码是一个错误,报告称"mysqli_query至少需要2个参数".在codeigniter中是否有一种方法可以传递mysqli_query()第一个参数上的链接,如php.net文档中所述http://php.net/manual/en/mysqli.query.php

小智 16

去:

yourproject/application/config/database.php
Run Code Online (Sandbox Code Playgroud)

更改:

$db['default']['dbdriver'] = 'mysql';   
Run Code Online (Sandbox Code Playgroud)

有:

$db['default']['dbdriver'] = 'mysqli';
Run Code Online (Sandbox Code Playgroud)


Mos*_*ebi 3

DB_driver.php您应该更改codeigniter 系统目录中文件的内容。去:

system/database/DB_driver.php
Run Code Online (Sandbox Code Playgroud)

并更改以下行:

var $dbdriver = 'mysql'; 
Run Code Online (Sandbox Code Playgroud)

到 :

var $dbdriver = 'mysqli'; 
Run Code Online (Sandbox Code Playgroud)

这是摘录的DB_driver.php

 * MySQLi Database Adapter Class - MySQLi only works with PHP 5
 *
 * Note: _DB is an extender class that the app controller
 * creates dynamically based on whether the active record
 * class is being used or not.
 *
 * @package        CodeIgniter
 * @subpackage    Drivers
 * @category    Database
 * @author        ExpressionEngine Dev Team
 * @link        http://ellislab.com/codeigniter/user-guide/database/
 */
class CI_DB_mysqli_driver extends CI_DB {

    var $dbdriver = 'mysqli'; 
Run Code Online (Sandbox Code Playgroud)