最近升级php7发现不支持mysql扩展,需要改成用mysqli扩展

看代码class Db{

private $username = '';

private $password = '';

private $host = '';

private $db = '';

private $mysqli_conn;

public function __construct(){

$this->mysqli_conn = @mysqli_connect($this->host,$this->username, $this->password);

if(!$this->mysqli_conn){

die("could not connect to the database:\n".mysqli_error($this->mysqli_conn));

}

mysqli_query($this->mysqli_conn,"set names 'utf8'");//编码转化

$select_db = mysqli_select_db($this->mysqli_conn,$this->db);

}

public function query($query){

return mysqli_query($this->mysqli_conn, $query);

}

public function fetch_assoc($result){

return mysqli_fetch_assoc($result);

}

public function fetch_array($result){

return mysqli_fetch_array($result);

}

public function getAll($table,$filed,$where='1=1',$order='',$limit=''){

$array = array();

$sql = "SELECT {$filed} FROM {$table} WHERE {$where} {$order} {$limit}";

$result = $this->query($sql) or die("db.php;Action:getAll;problem:".$sql.mysqli_error($this->mysqli_conn));

while($row = $this->fetch_assoc($result)){

$array[] = $row;

}

return $array;

}

public function getOne($table,$filed,$where='1=1'){

$sql ="SECLECT {$filed} FROM {$table} WHERE {$where} limit 1";

$result = $this->query($sql) or die("db.php;Action:getOne;problem:".$sql.mysqli_error($this->mysqli_conn));

$row = $this->fetch_assoc($result);

return $row;

}

public function getCount($table,$where="1=1"){

$sql ="SELECT COUNT(1) as count FROM {$table} WHERE {$where}";

$result = $this->query($sql) or die("db.php;Action:getCount;".$sql.mysqli_error($this->mysqli_conn));

$row = $this->fetch_array($result);

if(!$row['count']){

$row['count'] = '0';

}

return $row['count'];

}

public function delete($table,$where="1=1"){

$sql ="DELETE FROM {$table} WHERE {$where}";

$result = $this->query($sql) or die("db.php;Action:delete;".$sql.mysqli_error($this->mysqli_conn));

return $result;

}

public function insert($table,array $data){

$data = $this->_dataFormat($data);

$sql = "insert into ".$table."(".implode(',',array_keys($data)).") values (".implode(',',array_values($data)).")";

$result = $this->query($sql) or die("db.php;Action:insert;".$sql.mysqli_error($this->mysqli_conn));

return $result;

}

public function update($table,array $data,$where="1=1") {

$data = $this->_dataFormat($data);

if (!$data) return;

$valArr = '';

foreach($data as $k=>$v){

$valArr[] = $k.'='.$v;

}

$valStr = implode(',', $valArr);

$sql = "update ".$table." set ".trim($valStr)." where {$where}";

$result = $this->query($sql) or die("db.php;Action:update;".$sql.mysqli_error($this->mysqli_conn));

return $result;

}

priavte function _dataFormat($data) {

if (!is_array($data)) return array();

$ret=array();

foreach ($data as $key=>$val) {

if (!is_scalar($val)) continue; //值不是标量则跳过

$key = $this->_addChar($key);

if (is_int($val)) {

$val = intval($val);

} elseif (is_float($val)) {

$val = floatval($val);

} elseif (preg_match('/^\(\w*(\+|\-|\*|\/)?\w*\)$/i', $val)) {

$val = $val;

} elseif (is_string($val)) {

$val = '"'.addslashes($val).'"';

}

$ret[$key] = $val;

}

return $ret;

}

priavte function _addChar($value) {

if ('*'==$value || false!==strpos($value,'(') || false!==strpos($value,'.') || false!==strpos($value,'`')) {

} elseif (false === strpos($value,'`') ) {

$value = '`'.trim($value).'`';

}

return $value;

}

}

主要注意是mysqli_query这个函数两个参数是必须填写的,而mysql_query参数与之相反和第二个参数可以不填写!

php7不支持mysql扩展了么_php7不支持mysql扩展需要改成mysqli扩展相关推荐

  1. php操作mysql数据库的扩展有哪些_8.PHP操作MySQL数据库(Mysqli扩展)

    思考:如果数据库的操作都是需要我们手动去调用客户端发送指令,那么这样的操作有什么意义呢? 引入:手动通过客户端操作MySQL数据库,只是我们学习SQL的一种手段.要实现数据库的自动调用,就需要客户端能 ...

  2. mysql 14067_wiondows XP/2003下面IIS PHP MySQL Zend phpmyadmin安装

    wiondows XP/2003下面IIS PHP MySQL Zend phpmyadmin安装 运行环境: wiondws XP/2003 IIS5.1(cd) php5.2.1(zip) MyS ...

  3. mysqli 扩展_MySQLi的优势

    1. 功能增加了 2,效率大大增加(以后的PHP项目改成mysqli) 3,更稳定 mysqli使用面向对象技术,但也支持过程化的使用方式 mysqli扩展中给我提供了三个类: 1. mysqli和连 ...

  4. php mysql 柱状图,使用EChat通过php连接mysql数据库从而实现将数据转换为柱状图

    今天博主在完成自己的鼎食城毕业设计时,想到传统的管理系统只是将数据读取出来,如果可以实现数据可视化,将数据通过柱状图的方式表现出来的话,相必可以为自己的毕业设计增添几分亮点,于是博主便开始寻找有没有相 ...

  5. wordpress php7 mysql_WordPress可以使用PHP7的MySQLi扩展

    PHP7在安装的时候,数据库支持的编译安装选项是--with-mysqli,原来的mysql没有了. 在WordPress5.0之前,麦新杰在PHP7中,使用的都是动态编译的mysql.so. 前几天 ...

  6. php7.1安装mysqli扩展,centos php7 安装mysqli扩展心得

    在新配服务器时发现,php无法连接到mysql.通过phpinfo发现.根本没有显示mysqli的相关配置.经过一系列研究.总结了下.: 第一步: 在phpinfo里没有mysqli配置,原因是安装p ...

  7. mysqli扩展是mysql扩展的增强版_PHP学习笔记【22】--PHP数据库编程 mysql扩展库 和mysqli扩展库...

    <?php         // php数据库编程     //php链接有 mysql 和mysqli    //    $conn  = mysql_connect("localh ...

  8. php mysql 持久化_PHP: mysqli 扩展和持久化连接 - Manual

    mysqli 扩展和持久化连接 从 PHP 5.3 mysqli 扩展开始支持持久化连接. 持久化连接已经在 PDO MYSQL 和 ext/mysql 中提供支持. 持久化连接的目的在于重用客户端到 ...

  9. mysql 数据库dbhelp_策略模式实现支持多种类数据库的DBHelp

    概述 需求 有时我们的系统需要支持多种数据库,如即要支持MSSQL server又要同时支持Oracle database.而如果我们为些实现两套数据库操作的方式,就会不能很好的达到软件设计的目标:高 ...

最新文章

  1. 什么是机器人底盘 答案在这里!
  2. 135.003 智能合约后端优化和产品化
  3. linux sftp 中文,Linux(CentOS)上配置 SFTP服务器
  4. 一个可以拖拽的异步按需加载树
  5. WE CAN:全球智能路由网络 | 体验共享技术专题
  6. STM8S103 PB4和PB5
  7. Linux字符设备与块设备的区别与比较
  8. Cannot send session cache limiter - headers already sent问题
  9. 打破冷漠僵局文章_保持冷静并打破僵局-最佳
  10. Bootstrap 列平移/列偏移
  11. 计算机网络自顶向下-链路层
  12. 7.docker pull
  13. picker从后台取数据
  14. 批量转换Caltech Pedestrian Dataset中annotations中的.vbb文件为.txt文件
  15. 知物由学 | 人工智能、机器学习和深度学习如何在网络安全领域中应用?
  16. WordPress淘宝客ZZDGM主题Upanel插件使用补充
  17. Android中动画参数duration,Android基本动画设置
  18. c语言单片机仿真keil,如何在keil中仿真stm32单片机
  19. 王道书 P150 T18(在中序线索二叉树里找指定节点在后序的前驱节点)+ 拓展(在中序线索二叉树里找指定节点在先序的后继节点)
  20. Keras深度学习实战(35)——构建机器翻译模型

热门文章

  1. FoodMart数据仓库mysql表及数据初始化
  2. 查询每个班级排名第三的学生
  3. Linux sed 删除行命令常见使用详解
  4. 表的插入、更新、删除、合并操作_15_ 按照默认值更新表
  5. java中文字符怎么保证出现正确_JAVA中文字符编码问题详解
  6. 21种mysql_Mysql中,21个写SQL的好习惯,可以看一下
  7. solver.prototxt参数说明(三)
  8. 编程入门:C语言基础知识全网超全不用到处找了!
  9. AAAI 2019 滴滴被收录论文全解读
  10. 实战react技术栈+express前后端博客项目(8)-- 前端管理界面标签管理+后端对应接口开发...