致命错误:未捕获错误:调用未定义函数mysql_pconnect() [英] Fatal error: Uncaught Error: Call to undefined function mysql_pconnect()
问题描述
我在Codeigniter中遇到这些错误.
I got these error in Codeigniter.
Fatal error: Uncaught Error: Call to undefined function mysql_pconnect() in
C:\ xampp1 \ htdocs \ CI \ system \ database \ drivers \ mysql \ mysql_driver.php:92 堆栈跟踪:#0 C:\ xampp1 \ htdocs \ CI \ system \ database \ DB_driver.php(116): CI_DB_mysql_driver-> db_pconnect()#1 C:\ xampp1 \ htdocs \ CI \ system \ database \ DB.php(149): CI_DB_driver-> initialize()#2 C:\ xampp1 \ htdocs \ CI \ system \ core \ Loader.php(347):DB(数组,NULL)#3 C:\ xampp1 \ htdocs \ CI \ application \ models \ usermodel.php(7): CI_Loader-> database()#4 C:\ xampp1 \ htdocs \ CI \ application \ controllers \ userscontroller.php(9): UserModel-> getUser()#5 C:\ xampp1 \ htdocs \ CI \ system \ core \ CodeIgniter.php(360): UsersController-> index()#6 C:\ xampp1 \ htdocs \ CI \ index.php(202): require_once('C:\ xampp1 \ htdoc ...')#7 {main}被抛出 C:\ xampp1 \ htdocs \ CI \ system \ database \ drivers \ mysql \ mysql_driver_php在 第92
C:\xampp1\htdocs\CI\system\database\drivers\mysql\mysql_driver.php:92 Stack trace: #0 C:\xampp1\htdocs\CI\system\database\DB_driver.php(116): CI_DB_mysql_driver->db_pconnect() #1 C:\xampp1\htdocs\CI\system\database\DB.php(149): CI_DB_driver->initialize() #2 C:\xampp1\htdocs\CI\system\core\Loader.php(347): DB(Array, NULL) #3 C:\xampp1\htdocs\CI\application\models\usermodel.php(7): CI_Loader->database() #4 C:\xampp1\htdocs\CI\application\controllers\userscontroller.php(9): UserModel->getUser() #5 C:\xampp1\htdocs\CI\system\core\CodeIgniter.php(360): UsersController->index() #6 C:\xampp1\htdocs\CI\index.php(202): require_once('C:\xampp1\htdoc...') #7 {main} thrown in C:\xampp1\htdocs\CI\system\database\drivers\mysql\mysql_driver.php on line 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);
}
}
database.php
$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;
推荐答案
由于您使用的是Codeigniter,因此很有可能使用其数据库类和驱动程序,因此您不会直接使用PHP的MySQL函数.
Because you're using Codeigniter, you're most likely using their Database Class and drivers so you're not using PHP's MySQL functions directly.
因此,您要做的就是更改
Therefore, all you need to do is change
$db['default']['dbdriver'] = 'mysql';
到
$db['default']['dbdriver'] = 'mysqli';
这篇关于致命错误:未捕获错误:调用未定义函数mysql_pconnect()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!