代码改变世界

PHP数据库的封装操作

2020-07-01 20:36  idea555  阅读(627)  评论(0)    收藏  举报


<meta charset="utf-8">

<?php
class LinkData{
private $link;

//连接数据库
public function __construct($host,$user,$pwd,$data)
{
$this->link=mysqli_connect($host,$user,$pwd,$data); //打开一个到 MySQL 服务器的新的连接:mysqli_connect("localhost","wrong_user","my_password","my_db");返回一个代表到 MySQL 服务器的连接的对象。
if(!$this->link)
{
die("连接失败:".mysqli_connect_error());//die(message)输出一条消息,并退出当前脚本:mysqli_connect_error()返回上一次连接错误的错误描述。: 返回一个描述错误的字符串。如果没有错误发生则返回 NULL。
}
mysqli_query($this->link,"set names utf8");
//mysqli_select_db(connection,dbname);用于更改连接的默认数据库。如果成功则返回 TRUE,如果失败则返回 FALSE。
}


//查询数据库
public function select($sql)
{
$query=mysqli_query($this->link,$sql);//mysqli_query(connection,query,resultmode);执行某个针对数据库的操作 针对成功的 SELECT、SHOW、DESCRIBE 或 EXPLAIN 查询,将返回一个 mysqli_result 对象。针对其他成功的查询,将返回 TRUE。如果失败,则返回 FALSE。
if(mysqli_affected_rows($this->link)>0)//mysqli_affected_rows(connection);返回前一次 MySQL 操作(SELECT、INSERT、UPDATE、REPLACE、DELETE)所影响的记录行数。一个 > 0 的整数表示所影响的记录行数。0 表示没有受影响的记录。-1 表示查询返回错误。
{
while($array=mysqli_fetch_array($query))//mysqli_fetch_array(result,resulttype);从结果集中取得一行作为关联数组,或数字数组,或二者兼有。该函数返回的字段名是区分大小写的。返回与读取行匹配的字符串数组。如果结果集中没有更多的行则返回 NULL。
{
var_dump($array);//void var_dump ( mixed $expression [, mixed $... ] );函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。没有返回值。
echo'<br>';
}
return 1;
}
else
{
die("查询失败!");
return 0;
}
}


//插入数据
public function insert($sql)
{
mysqli_query($this->link,$sql);
$id=mysqli_insert_id($this->link);//mysqli_insert_id(connection);返回最后一个查询中自动生成的 ID(通过 AUTO_INCREMENT 生成)。返回一个在最后一个查询中自动生成的带有 AUTO_INCREMENT 字段值的整数。如果数字 > 最大整数值,它将返回一个字符串。如果没有更新或没有 AUTO_INCREMENT 字段,将返回 0。
if($id>0)
{
echo $id;
return $id;
}
else
{
echo"插入数据失败!";
return 0;
}
}



//删除数据
public function delete($sql)
{
mysqli_query($this->link,$sql);
$count=mysqli_affected_rows($this->link);
if($count>0)
{
return $count;
}
else
{
echo"删除失败!";
return 0;
}
}


//修改数据
public function update($sql)
{
mysqli_query($this->link,$sql);
$count=mysqli_affected_rows($this->link);
if($count>0)
{
return $count;
}
else
{
echo"修改失败!";
return 0;
}
}


//关闭数据库
public function __destruct()
{
if($this->link)
{

if(mysqli_close($this->link)) //mysqli_close(connection);关闭先前打开的数据库连接。如果成功则返回 TRUE,如果失败则返回 FALSE。
{
die("关闭数据库成功!");
}
else
{
die("关闭数据库失败");
}
}
// TODO: Implement __destruct() method.
}

}

$text=new LinkData("localhost","root","","useradmin");
//$text->select("select * from user");
//$text->insert("insert into user(name) values('参商')");
//$text->delete("delete from user where Id=9");
$text->update("update user set name='小米' where Id=1");
?>

————————————————
版权声明:本文为CSDN博主「认真的浪」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Alice_boy/article/details/88317609