我在 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\usercontroller.php(9):
用户模型->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号线
模型类
<?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);
}
}
数据库.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 函数。
因此,你需要做的就是改变
$db['default']['dbdriver'] = 'mysql';
to
$db['default']['dbdriver'] = 'mysqli';
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)