Php 致命错误:未捕获错误:调用未定义的函数mysql_pconnect()
我在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 致命错误:未捕获错误:调用未定义的函数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_驱
模型类
<?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';