关于phpcms中mysql和mysqli的区别
用phpcms开发一个考试成绩查询的小模块,用电脑上以前下载的phpcms版本为框架开发,一切顺利。想着下载一个最新版本,以后也免了升级的麻烦。于是,下载好,然后把模块目录、model数据库连接文件、模板以及配置文件都如数复制。
可是,问题出现了!
……调试折腾了几个小时,在新旧版本间切换数次,终于发现是phpcms版本导致的问题,我勒个去!
用exit()定位,继续研究,发现问题出在以下几行代码:
$result = $this->db->query($sql);
while($row=mysql_fetch_row($result)) {
echo $row[0].'<br />';
}
这几行代码无动于衷,毫无效果……于是,又折腾……,用gettype($result)检测出$result为对象,啥对象?不知道,凌乱……
想到了var_dump()函数。
输入var_dump($result)后,出现了object(mysqli_result)。确实是个连接资源对象,但是不是mysql连接,而是mysqli连接。
用文本搜索工具搜索,发现数据库配置文件database.php里面是这样的“'type' => 'mysqli',”;
这就是症结所在,将mysqli改为mysql,一切正常。但肯定不能改回去呀,于是百度mysqli。
原来,mysql(过程方式)和mysqli(对象方式)都使用query查询,但读取行数据的函数不一样了。
mysql(过程方式)用$row = mysql_fetch_row( $result ) 这样的方式(原来都这样用)
而mysqli(对象方式)用$row = $result -> fetch_row();这样的方式。
改过来,一切正常!
关于phpcms中mysql和mysqli的区别的更多相关文章
- php中mysql与mysqli的区别
两个函数都是用来处理DB 的.首先, mysqli 连接是永久连接,而mysql是非永久连接. mysql连接每当第二次使用的时候,都会重新打开一个新的进程,而mysqli则只使用同一个进程,这样可以 ...
- PHP数据库连接mysql与mysqli的区别与用法
一.mysql与mysqli的概念相关: 1.mysql与mysqli都是php方面的函数集,与mysql数据库关联不大. 2.在php5版本之前,一般是用php的mysql函数去驱动mysql数据库 ...
- PHP中MySQL、MySQLi和PDO的用法和区别
PHP的MySQL扩展(优缺点) 设计开发允许PHP应用与MySQL数据库交互的早期扩展.mysql扩展提供了一个面向过程 的接口: 并且是针对MySQL4.1.3或更早版本设计的.因此,这个扩展虽然 ...
- PHP中MySQL、MySQLi和PDO的用法和区别【原创】
对于一个初学PHP的自己,对数据库的连接有着很大的疑惑,从Java转到PHP.数据库连接变了,以前只知道JDBC连接数据库,或者直接用框架调用,对于的PHP的数据库连接方式,及其应用.不是很了解,于是 ...
- mysql和mysqli的区别
看书.看视频的时候一直没有搞懂mysqli和mysql到底有什么区别.于是今晚“谷歌”一番,整理一下.需要的朋友可以参考下. 一: PHP-MySQL 是 PHP 操作 MySQL 数据库最原始的 ...
- mysql 与 mysqli的区别
mysqli.dll是PHP对mysql新特性的一个扩展支持.在PHP5中可以在php.ini中加载mysql后面的i,指improved, interface, ingenious, incompa ...
- 开发中mysql和oracle的区别
首先就不描述mysql与oracle在整个数据库系统上的区别了,仅从程序员开发的角度来说: 1.主键: mysql一般会用到一个自增的属性,例如设置一个id字段,类型设置为auto increment ...
- php中mysql和mysqli的总结
首先php—mysql 是 php 操作 mysql 资料库最原始的的拓展 而php—mysqli,字母i代表的 Improvement ,提更了相对进阶的功能. 推荐学习和使用mysqli mysq ...
- Mysql与Mysqli的区别及特点
1)PHP-MySQL 是 PHP 操作 MySQL 资料库最原始的 Extension ,PHP-MySQLi 的 i 代表 Improvement ,提更了相对进阶的功能,就 Extension ...
随机推荐
- css3之2D转换
css3---2D转换 css3中出现了许多新的特性,其中2D转换我觉的非常有意思,通过她,我们能够对元素进行移动.缩放.转动.拉长或者拉伸,所以希望在这里和大家分享一下. 这里,我将会介绍到以下转换 ...
- JS-DOM2级封装练习题--点击登录弹出登录对话框
<!doctype html><html lang="en"> <head> <meta charset="UTF-8" ...
- oneM2M标准发展神速 实现万物联网的愿景
http://m2m.iot-online.com/news/2013102224849.html oneM2M则将负责解决独立于接取网路中通用的M2M服务层的关键需求:使其可更方便地嵌入于各种软硬体 ...
- 一种M2M业务的架构及实现M2M业务的方法
http://www.cnblogs.com/coryxie/p/3849764.html 技术领域 [0001] 本发明涉及通信技术领域,尤其涉及一种M2M业务的架构及实现M2M业务的方法. 背景技 ...
- arcglobe 图层三大类说明
若是第一次打开,且在网络连接通畅的情况下,你会发现目录中已有部分数据层,这些数据层是由ArcGIS Online的在线数据:Imagery图层即在线的影像数据.高程数据.地名数据.运输线数据. Arc ...
- WinForm------如何跳转另一个窗口,同时关闭当前窗口
添加一个按钮,并为按钮添加点击事件(注:Frm_Main为需要跳转的窗口名字) private void Btn_OK_Click(object sender, EventArgs e) { //打开 ...
- NGINX 配置404错误页面转向
什么是404页面 如果碰巧网站出了问题,或者用户试图访问一个并不存在的页面时,此时服务器会返回代码为404的错误信息,此时对应页面就是404页面.404页面的默认内容和具体的服务器有关.如果后台用的是 ...
- inpyt 按钮变透明 边框
变透明: .btn{width: 80px;height: 36px;margin-left: 22px;border: none;cursor: pointer;background: none;}
- tar: 由于前次错误,将以上次的错误状态退出
1.安装cmake的源码包,出现以下错误提示: # tar -zxvf cmake-3.2.2.tar.gz cmake-/Source/cmCommandArgumentParser.cxx tar ...
- csrf利用EXP
<html><body><form action="http://www.xxx.com/user/setting/email_bind.html" ...