本文实例讲述了PHP封装mysqli基于面向对象的mysql数据库操作与用法。分享给大家供大家参考
本文实例讲述了PHP封装mysqli基于面向对象的mysql数据库操作与用法。分享给大家供大家参考,具体如下:
首先封装好mysql类
mysql.php
<?php
class Mysql{
private static $host="localhost";
private static $user="root";
private static $password="123456";
private static $dbName="test"; //数据库名
private static $charset="utf8"; //字符编码
private static $port="3306"; //端口号
private $conn=null;
function __construct(){
$this->conn=new mysqli(self::$host,self::$user,self::$password,self::$dbName,self::$port);
if(!$this->conn)
{
die("数据库连接失败!".$this->conn->connect_error);
}else{
echo "连接成功!";
}
$this->conn->query("set names ".self::$charset);
}
//执行sql语句
function sql($sql){
$res=$this->conn->query($sql);
if(!$res)
{
echo "数据操作失败";
}
else
{
if($this->conn->affected_rows>0)
{
return $res;
}
else
{
echo "0行数据受影响!";
}
}
}
//返回受影响数据行数
function getResultNum($sql){
$res=$this->conn->query($sql);
return mysqli_num_rows($res);
}
//关闭数据库
public function close()
{
@mysqli_close($this->conn);
}
}
?>
然后就可以调用了
index.php
<?php
require_once "mysql.php";
$conn=new Mysql();
$sql="select * from user";
//执行查询并获取查询结果
$result=$conn->sql($sql);
//输出受影响数据行数
$num=$conn->getResultNum($sql);
echo "影响的行数:".$num;
//读取并输出记录
while ($row = mysqli_fetch_assoc($result))
{
echo "{$row['name']} ";
echo "{$row['password']}";
}
//关闭数据库
$conn->close();
PHP
封装
mysqli
面向对象
mysql数据库
操作类