关于CI框架访问数据库类提示Call to undefined function mysqli_init()

大家好,我曾经是ASP.NET MVC的践行者,现在是PHP,同时也是CodeIgniter框架的初学者和践行者,当时由于项目原因,我被迫给自己打满鸡血,满怀激情的选用Yii2,Lavarel5,CodeIgniter等PHP框架进行项目开发,同你一样被"Call to undefined function mysqli_init()"这个小问题折磨得挠头骚耳,找遍各大论坛依然找不到问题之所在,差点铩羽而归(当时我也按照论坛的提示做了,发现都没有用),好的屁话不多说,现在由我直入正题说一说解决方法,同时说一说当时我是怎么解决以上的问题的。
        如果你是安装WampServer 3.0.4作为集成开发环境的,当你安装完集成环境后,请自行检查一下 localhost/phpmyadmin 这个后台是否能打开,还是会报各种Fatal error,如果遇到Fatal error就只能说明一个问题,这个WampServer是坏的!!!,无论你后面怎么配置你的项目的dasebase.php文件都没用,而且更坑的是当时网页只显示Call to undefined function mysqli_init()这个问题,没有更多问题提示你该怎么做。
        直到我重装系统,后面选择安装phpstudy之后,发现我居然能打开phpmyadmin,于是我重新打开浏览器并输入项目URL,发现页面提示的错误又多了一些内容,例如
A PHP Error was encountered
        Severity: Warning
        Message: mysqli::real_connect(): (HY000/1045): Access denied for user ‘root‘@‘localhost‘ (using password: NO)
        Filename: mysqli/mysqli_driver.php....
        当时我也不知怎么的,自己又在网上搜索一下又参考《phpmyadmin安装及其配置》的文章后,发现自己项目中的database.php没有配置正确,当时我安装完集成开发环境之后,或许你跟我一样没有配置phpmyadmin,还以为phpmyadmin的账户是root,密码是空
        最后我将$db[‘default‘] = array(...‘username‘ => ‘root‘,‘password‘ => ‘‘,...);改为$db[‘default‘] = array(
...‘username‘ => ‘root‘,‘password‘ => ‘root‘,...)。重新打开浏览器并输入项目的URL,Success(成功)!!!
        总结:自己安装完集成开发环境后,请检查一下phpmyadmin后台程序是否能打开,还有请各位从其他编程语言乱入到PHP的小伙伴们要一定记住phpmyadmin的账户密码不为空,而是root!!!(也就是phpmyadmin的账户名为root,密码也为root)

遇到上面的这个问题的人,俺掐指一算,发现有80%到90%的可能是由于你从其他编程开发语言开发得好好的,然而由于其他什么原因被直接乱入到PHP的,同我一样,自己不会逐个安装PHP,Apache和MySQL,而是直接选用,安装并使用诸如WampServer,apmserv、xampp、PHPWAMP等集成开发环境,哪知道集成开发环境背后隐藏如此之多的坑正等着可爱的你去进行解决。
         遇到Call to undefined function mysqli_init()这个问题或许你同我一样被折磨的日夜不休的,重燃自信心不知被浇灭了多少回,甚至重装系统后发现问题依然原封不同的保留在那里,当时气得我直摔键盘鼠标(因为电脑太贵),仰天长啸,甚至怀疑是不是由于平时自己对电脑太粗暴的问题。
         是的学编程不难,但难得是你要入门之前要进行各种各样,又奇形怪状,同时毁你自信心的配置安装操作,且由于时间紧迫要快速上手,(真心累哇。嗯嗯,我想说的是其实遇到困难不可怕,但遇到困难后,你发现人家给你的时间又不是很充足,同时自己总找不到问题解决方案,且后面有人一直在催你几点项目要发布哇,bala,bala,快点搞定,相信你的内心是崩溃的,正如 洛天依 的一首 未来程序员之歌 最后几句所说的一样 程序员苦逼呀,程序员苦逼呀,程序员苦逼呀,我是程序员呀...... )
         如果各位看到这个回复的伙伴们遇到Call to undefined function mysqli_init()这个问题还是解决不了,可以继续回复本贴,你我一同探究进步。

原文地址:https://www.cnblogs.com/Xhosta/p/8516143.html

时间: 2024-10-06 22:03:17

关于CI框架访问数据库类提示Call to undefined function mysqli_init()的相关文章

CI框架的数据库操作函数

//举例查询 (userid,name,sex为user表的数据库字段)    public function testa(){        $this->load->database();            $query = $this->db->query('SELECT * FROM user');        foreach ($query->result() as $row)        {            echo $row->userid;

使用tp访问数据库时提示错误: 'PDO' not found, 和not defined constant mysql_attr_init_command

第一个问题: PDO not found 是因为 php没有安装pdo扩展, 无法提供给 php 以 数据库访问功能, 所以 报错是在文件: Think/Db.class.php的里面. 解决方法是: 给 php安装 PDO 扩展: dnf install php-pdo 这时 再看 就可以 在 默认 自动 加载的modules目录 中 看到: /usr/lib/php/modules pdo.so这个共享库 安装好 pdo后, 又出现了 没有定义 mysql_attr_init_command

织梦提示Call to undefined function解决办法

解决办法如下: 打开/include/common.func.php,搜索"function RunApp",在这个函数的上面添加织梦新版本新增的函数:dede_htmlspecialchars(), 添加的具体代码如下: function dede_htmlspecialchars($str) { global $cfg_soft_lang; if (version_compare(PHP_VERSION, '5.4.0', '<')) return htmlspecialch

ci框架操作数据库基本方法

授课过程中如果涉及到文件夹或目录时,可使用缩进进行演示: application |-----libraries |-----xxx_helper.php system |-----libraries |-----url_helper.php --------------------------------------------------------------------------------------------------------------------------------

CI框架中一个类中调用另一个类中已经加载对象测试

controller.php 1 <?php 2 class CI_Controller { 3 4 private static $instance; 5 6 public function __construct() 7 { 8 self::$instance =& $this; 9 10 foreach (is_loaded() as $var => $class) 11 { 12 $this->$var =& load_class($class); 13 $obj

php的CI框架相关数据库操作

在使用之前首先应该配置数据库的参数,详见文件application/config/database.php,里面包含主机名,登陆用户名,登录密码,数据库名,编码信息等. 在配置成功后,可以简单的调用:$this->load->database();进行数据库链接. 然后可以使用$this->db->query(),$this->db->insert()等方法对数据库进行相应sql操作,例如下面给出的包含CI框架封装查询特性的相关语句: $sql = "SELE

ci框架自定义数据库查询名称(方法)

适合刚接触PHP和ci框架的人,本人也是小白 原因:官方给的数据库查询方法可能不利于记忆使用,官方给的一些方法只能进行基础查询,每次复合查询都需要拼接条件,自己定义定义方法直接调用方法即可 操作步骤: 1.ci框架官网下载好解压后的文件夹会有application这个目录,在application目录下找到models子目录,在models子目录里建一个PHP文件(名字随便起,如Base_model.php) 这个文件里就是给你写自己定义的数据库查询方法,但开头要这样写(如下),自己定义的方法写

定义通用访问数据库类

最近在公司看封装的代码,访问数据库很方便,我们只需定义Model,便可访问数据库,当然了都是封装的dll,因此自己也试着写了一个,现在做个记录. 下面是特性标签的定义,主要用于获取本地属性定义和数据库定义以及数据库字段定义: public class DataMappingAttribute : Attribute { private string localName, dbName; private string type; public DataMappingAttribute(string

十二、CI框架之数据库查询

一.在database文件中写明数据库相关信息 二.我们数据库中的表如图所示 三.在CI中查询数据库内容 四.在浏览器输出 原文地址:https://www.cnblogs.com/tianpan2019/p/11141224.html