专栏首页编程学习园地PHP基于MySQLI函数封装的数据库连接工具类【定义与用法】

PHP基于MySQLI函数封装的数据库连接工具类【定义与用法】

本文实例讲述了PHP基于MySQLI函数封装的数据库连接工具类。分享给大家供大家参考,具体如下:

mysql.class.php:

<?php

class mysql

{

private $mysqli;

private $result;

/**

public function connect($config)

{

$host = $config['host']; //主机地址

$username = $config['username'];//用户名

$password = $config['password'];//密码

$database = $config['database'];//数据库

$port = $config['port']; //端口号

$this-&gt;mysqli = new mysqli($host, $username, $password, $database, $port);

}

/**

public function select($table, $field = null, $where = null)

{

$sql = "SELECT * FROM {$table}";

if (!empty($field)) {

$field = '

,

';

$sql = str_replace('*', $field, $sql);

}

if (!empty($where)) {

$sql = $sql . ' WHERE ' . $where;

}

$this-&gt;result = $this->mysqli->query($sql);

return $this->result->num_rows;

}

/**

public function fetchAll()

{

return $this->re/

/sult->fetch_all(MYSQLI_ASSOC);

}

/**

public function insert($table, $data)

{

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

$data[$key] = $this-&gt;mysqli-&gt;real_escape_string($value);

}

$keys = '

,

';

$values = '\'' . implode("','", array_values($data)) . ''';

$sql = "INSERT INTO {$table}( {$keys} )VALUES( {$values} )";

$this-&gt;mysqli-&gt;query($sql);

return $this->mysqli->insert_id;

}

/**

public function update($table, $data, $where)

{

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

$data[$key] = $this-&gt;mysqli-&gt;real_escape_string($value);

}

$sets = array();

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

$kstr = '

';

$vstr = '\'' . $value . ''';

array_push($sets, $kstr . '=' . $vstr);

}

$kav = implode(',', $sets);

$sql = "UPDATE {$table} SET {$kav} WHERE {$where}";

$this-&gt;mysqli-&gt;query($sql);

return $this->mysqli->affected_rows;

}

/**

public function delete($table, $where)

{

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

$this-&gt;mysqli-&gt;query($sql);

return $this->mysqli->affected_rows;

}

}

使用方法

<?php

require_once 'mysql.class./

/php';

/

/

$config = array(

'type' => 'mysql',

'host' => 'localhost',

'username' => 'woider',

'password' => '3243',

'database' => 'php',

'port' => '3306'

);

/

/

$mysql = new mysql();

$mysql-&gt;connect($config);

/

/

//1、查询所有数据

$table = 'mysqli';//数据表

$num = $mysql->select($table);

echo '共查询到' . $num . '条数据';

print_r($mysql->fetchAll());

//2、查询部分数据

$field = array('username', 'password'); //过滤字段

$where = 'id % 2 =0'; //过滤条件

$mysql-&gt;select($table, $field, $where);

print_r($mysql->fetchAll());

/

/

$table = 'mysqli';//数据表

$data = array( //数据数组

'username' => 'admin',

'password' => sha1('admin')

);

$id = $mysql->insert($table, $data);

echo '插入记录的ID为' . $id;

/

/

$table = 'mysqli';//数据表

$data = array(

'password' => sha1('nimda')

);

$where = 'id = 44';

$rows = $mysql->update($table, $data, $where);

echo '受影响的记录数量为' . $rows . '条';

/

/

$table = 'mysqli';

$where = 'id = 45';

$rows = $mysql->delete($table, $where);

echo '已删除' . $rows . '条数据';

希望本文所述对大家PHP程序设计有所帮助。

原文链接:https://www.blog.zirun.me.com/php/4679.html

我来说两句

0 条评论
登录 后参与评论

相关文章

  • PHP基于MySQLI函数封装的数据库连接工具类【定义与用法】

    本文实例讲述了PHP基于MySQLI函数封装的数据库连接工具类。分享给大家供大家参考,具体如下: mysql.class.php:

    用户2323866
  • PHP DB 数据库连接类定义与用法示例

    本文实例讲述了PHP DB 数据库连接类定义与用法。分享给大家供大家参考,具体如下:

    砸漏
  • PHP封装mysqli基于面向对象的mysql数据库操作类与用法示例

    本文实例讲述了PHP封装mysqli基于面向对象的mysql数据库操作与用法。分享给大家供大家参考,具体如下:

    砸漏
  • PHP中的MySQLi扩展学习(一)MySQLi介绍

    关于 PDO 的学习我们告一段落,从这篇文章开始,我们继续学习另外一个 MySQL 扩展,也就是除了 PDO 之外的最核心的 MySQLi 扩展。可以说它的祖先...

    硬核项目经理
  • php封装的pdo数据库操作工具类与用法示例

    本文实例讲述了php封装的pdo数据库操作工具类与用法。分享给大家供大家参考,具体如下:

    砸漏
  • 通过 PHP Mysqli 扩展与数据库交互

    前面学院君给大家简单介绍了如何在本地安装 MySQL 以及通过命令行和 GUI 客户端软件与 MySQL 服务器进行交互。

    学院君
  • PHP Mysqli 常用代码集合

    PHP5.0开始,不仅可以使用早期的mysql数据库扩展函数,还能使用新扩展的mysqli技术实现与mysql数据库的信息交流,PHP的mysqli扩展被封装在...

    叫我可儿呀
  • 在PHP中使用MySQL Mysqli操作数据库 ,以及类操作方法

    先来操作函数部分,普遍的MySQL 函数方法,但随着PHP5的发展,有些函数使用的要求加重了,有些则将废弃不用,有些则参数必填...

    书童小二
  • 通过 PDO 扩展与 MySQL 数据库交互(上)

    在上篇教程中,学院君给大家介绍了如何通过 PHP 内置的 Mysqli 扩展与 MySQL 数据库交互,今天我们来看看另一个 PHP 内置的数据库扩展 —— P...

    学院君
  • PHP中PDO关闭连接的问题

    在之前我们手写 mysql 的连接操作时,一般都会使用 mysql_close() 来进行关闭数据库连接的操作。不过在现代化的开发中,一般使用框架都会让我们忽视...

    硬核项目经理
  • mysql_real_escape_string和mysql_escape_string有什么本质的区别,有什么用处,为什么被弃用?

    本文为joshua317原创文章,转载请注明:转载自joshua317博客 https://www.joshua317.com/article/48

    joshua317
  • mysqlnd 是什么?

    mysqlnd (MySQL native driver) MySQL原生驱动,是由 PHP 提供的连接 mysql数据库的驱动程序,用于代替 libmysql...

    用户1560186
  • PHP中的MySQLi扩展学习(四)mysqli的事务与预处理语句

    对于 MySQLi 来说,事务和预处理语句当然是它之所以能够淘汰 MySQL(原始) 扩展的资本。我们之前也已经学习过了 PDO 中关于事务和预处理语句相关的内...

    硬核项目经理
  • PHP封装的mysqli数据库操作类示例

    本文实例讲述了PHP封装的mysqli数据库操作类。分享给大家供大家参考,具体如下:

    砸漏
  • 2018最新PHP学习路线整合

    PHP是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。

    wangxl
  • PHP5.2至5.6的新增功能详解

    php5.3不但引进了匿名函数还有更多更好多新的特性了,下面我们一起来了解一下PHP匿名函数与注意事项,具体内容如下

    用户7657330
  • PHP中的MySQLi扩展学习(二)mysqli类的一些少见的属性方法

    虽说是少见的一些属性方法,但是可能还是有不少同学在日常的开发中使用过,这里只是学习了可能相对来说我们用得比较少的一些 mysqli 的属性或方法。就当是扩展一下...

    硬核项目经理
  • PHP连接MySQL数据库操作代码实例解析

    ①在mysql_connect()、mysql_select_db()等函数之前使用@(错误控制运算符),可以忽略掉系统产生的错误信息,然后我们用die()来自...

    砸漏
  • PHP编译安装

    #wgethttp://museum.php.net/php5/php-5.2.6.tar.gzPHP

    Java架构师必看

扫码关注云+社区

领取腾讯云代金券