Php 致命错误:未捕获错误:调用未定义的函数mysql_pconnect()

Php 致命错误:未捕获错误:调用未定义的函数mysql_pconnect(),php,mysql,codeigniter,Php,Mysql,Codeigniter,我在Codeigniter中发现了这些错误 C:\xampp1\htdocs\CI\system\database\drivers\mysql\mysql\u driver.php:92 堆栈跟踪:#0 C:\xampp1\htdocs\CI\system\database\DB\u driver.php(116): CI_DB_mysql_驱动程序->DB_pconnect()#1 C:\xampp1\htdocs\CI\system\database\DB.php(149): CI_DB_驱

我在Codeigniter中发现了这些错误

C:\xampp1\htdocs\CI\system\database\drivers\mysql\mysql\u driver.php:92 堆栈跟踪:#0 C:\xampp1\htdocs\CI\system\database\DB\u driver.php(116): CI_DB_mysql_驱动程序->DB_pconnect()#1 C:\xampp1\htdocs\CI\system\database\DB.php(149): CI_DB_驱动程序->初始化()#2 C:\xampp1\htdocs\CI\system\core\Loader.php(347):DB(Array,NULL)#3 C:\xampp1\htdocs\CI\application\models\usermodel.php(7): CI_加载程序->数据库()#4 C:\xampp1\htdocs\CI\application\controllers\userscocontroller.php(9): UserModel->getUser()#5 C:\xampp1\htdocs\CI\system\core\CodeIgniter.php(360): UsersController->index()#6 C:\xampp1\htdocs\CI\index.php(202): 需要一次('C:\xampp1\htdoc…')#抛出7{main} C:\xampp1\htdocs\CI\system\database\drivers\mysql\mysql\u driver.php on 第92行


模型类

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

class UserModel extends CI_Model
{
    public function getUser()
    {
        $this->load->database();
        $query = $this->db->query("SELECT * from user_accounts");       
        return $query->result();
    }
}
  <!DOCTYPE html>
    <html>
    <head>
        <title>User Accounts</title>
    </head>
    <body>
        <?php foreach($users as $user): ?>
    <table>
        <tr>
            <td><?= $user->firstname; ?></td> 
            <td><?= $user->lastname; ?></td>
        </tr>
    <?php endforeach; ?>
    </table>
    </body>
    </html>
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class UsersController extends CI_Controller 
{
    public function index()
    {
        $this->load->model('usermodel');

        $data['users'] = $this->usermodel->getUser();

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

在PHP5.6或更高版本中,
mysql\uuz
函数被弃用并完全删除。试着使用
mysqli\uuu

因为您使用的是Codeigniter,您很可能使用的是他们的数据库类和驱动程序,所以您没有直接使用PHP的MySQL函数

因此,你所需要做的就是改变

$db['default']['dbdriver'] = 'mysql';


您使用的是什么版本的PHP?在PHP5.5中,
mysql
函数被弃用,在PHP7中被完全删除。另外,什么版本的CodeIgniter?什么版本的CI?PHP版本7.0.13和CodeIgniter版本2.2.6错误goon。感谢brosay只需更改此
$db['default']['dbdriver']='mysql'
到这个
$db['default']['dbdriver']='mysqli'我添加了额外的信息,以便OP理解为什么另一个答案是正确的,但不适用于他的特定情况。你的答案是正确的,但它太混淆了核心意思。添加您的解释,然后添加类似于我在上面添加的内容。好的,我对其进行了编辑以反映您的建议。然而,我不喜欢提供复制/粘贴解决方案,因为这会导致人们无法从错误中学习。为编辑以突出显示代码而欢呼。我在iPhone上,因此无法进行标记。或者尝试PDO。非常感谢alexander bezpuatov对我来说很好非常感谢。
$active_group = 'default';
$active_record = TRUE;     
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = '';
$db['default']['database'] = 'ci_users';
$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;
$db['default']['dbdriver'] = 'mysql';
$db['default']['dbdriver'] = 'mysqli';