当前位置: 首页 > news >正文

企业网站策划书下载长垣县住房和城乡建设局网站

企业网站策划书下载,长垣县住房和城乡建设局网站,网站开发中网页之间的链接形式,网页设计师收费标准摘要 将PDO封装成PHP类进行调用有很多好处#xff0c;包括#xff1a; 1、封装性和抽象性#xff1a; 通过将PDO封装到一个类中#xff0c;您可以将数据库操作逻辑与应用程序的其他部分分离开来#xff0c;提高了代码的组织性和可维护性。这样#xff0c;您只需在一个地…摘要 将PDO封装成PHP类进行调用有很多好处包括 1、封装性和抽象性 通过将PDO封装到一个类中您可以将数据库操作逻辑与应用程序的其他部分分离开来提高了代码的组织性和可维护性。这样您只需在一个地方维护数据库连接和查询逻辑而不必在整个应用程序中散布数据库代码。 2、重用性 将数据库操作封装成类使得这些操作可以在应用程序的不同部分重复使用而无需重复编写相同的代码。这有助于减少代码冗余提高效率。 3、安全性 通过类的方法来执行数据库操作可以轻松地实施预处理语句从而减少了SQL注入攻击的风险。类还可以提供错误处理机制使您能够更容易地处理数据库错误。 4、可扩展性 使用类封装数据库操作可以轻松地扩展和维护应用程序。如果需要添加新的数据库操作或更改现有的操作只需修改类中的相应方法而不必更改应用程序的其他部分。 5、清晰的接口 类提供了一个清晰的接口使其他开发人员能够更容易地理解和使用数据库操作。这有助于团队协作和代码维护。 将PDO封装成PHP类可以提高代码的可维护性、可重用性和安全性同时降低了代码的耦合度使数据库操作更容易管理和扩展。这是一个良好的软件工程实践特别适用于中大型和复杂的应用程序。 类文件 Database.php 以下是使用Chatgpt生成的操作类但是我做了30%的修改和优化。 ?php/*** TitlePDO数据库操作类* AuthorTANKING* Bloghttps://segmentfault.com/u/tanking* Date2023-09-18*/class Database{private $host;private $username;private $password;private $database;private $pdo;private $error null;public function __construct($host, $username, $password, $database){$this-host $host;$this-username $username;$this-password $password;$this-database $database;$this-connect();}// 获取错误信息public function getError(){return $this-error;}// 连接数据库private function connect(){$dsn mysql:host{$this-host};dbname{$this-database};try {$this-pdo new PDO($dsn, $this-username, $this-password);$this-pdo-setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);} catch (PDOException $e) {die(Connection failed: . $e-getMessage());}}// 插入数据public function insert($table, $data){try {$columns implode(, , array_keys($data));$values : . implode(, :, array_keys($data));$sql INSERT INTO $table ($columns) VALUES ($values);$stmt $this-pdo-prepare($sql);$result $stmt-execute($data);if (!$result) {$this-error $stmt-errorInfo();}return $result;} catch (PDOException $e) {// 处理数据库异常$this-error $e-getMessage();return FALSE;}}// 更新数据public function update($table, $data, $where){try {$set ;foreach ($data as $key $value) {$set . $key :$key, ;}$set rtrim($set, , );$sql UPDATE $table SET $set WHERE $where;$stmt $this-pdo-prepare($sql);$result $stmt-execute($data);if (!$result) {$this-error $stmt-errorInfo();}return $result;} catch (PDOException $e) {// 处理数据库异常$this-error $e-getMessage();return FALSE;}}// 删除数据public function delete($table, $where){try {$sql DELETE FROM $table WHERE $where;$stmt $this-pdo-prepare($sql);$result $stmt-execute();if($stmt-rowCount() 0) {// 没有受影响的记录$this-error 没有受影响的记录;return FALSE;}else {return $result;}} catch (PDOException $e) {// 处理数据库异常$this-error $e-getMessage();return FALSE;}}// 查询一条数据public function queryOne($table, $conditions []){$whereClause $this-buildWhereClause($conditions);$sql SELECT * FROM $table $whereClause LIMIT 1;try {$stmt $this-pdo-prepare($sql);$stmt-execute($conditions);return $stmt-fetch(PDO::FETCH_ASSOC);} catch (PDOException $e) {// 处理数据库异常$this-error $e-getMessage();return FALSE;}}// 查询所有数据public function queryAll($table, $conditions []){$whereClause $this-buildWhereClause($conditions);$sql SELECT * FROM $table $whereClause;try {$stmt $this-pdo-prepare($sql);$stmt-execute($conditions);return $stmt-fetchAll(PDO::FETCH_ASSOC);} catch (PDOException $e) {// 处理数据库异常$this-error $e-getMessage();return FALSE;}}// 执行原生SQL语句public function executeSQL($sql, $params []){try {$stmt $this-pdo-prepare($sql);$result $stmt-execute($params);if (!$result) {// 执行失败$this-error $stmt-errorInfo();return FALSE;}return $stmt;} catch (PDOException $e) {// 处理数据库异常$this-error $stmt-errorInfo();return FALSE;}}// 数据绑定private function buildWhereClause($conditions){if (empty($conditions)) {return ;}$where WHERE;foreach ($conditions as $key $value) {$where . $key :$key AND;}$where rtrim($where, AND);return $where;}}实例 配置文件 Db.php ?php/*** Title数据库配置* AuthorTANKING* Bloghttps://segmentfault.com/u/tanking* Date2023-09-18*/$DbConfig array(db_host xxx, // 数据库服务器db_name xxx, // 数据库名db_user xxx, // 数据库账号db_pwd xxx, // 数据库密码);include Database.php; ?以下实例使用一个名为artcles的数据库表进行操作演示。 插入数据 insert.php ?php// 编码header(Content-type:application/json);// 数据库配置include Db.php;// 连接数据库$db new Database($DbConfig[db_host], $DbConfig[db_user], $DbConfig[db_pwd], $DbConfig[db_name]);// 插入数据$data [aid rand(100000,999999), title sdfgsadg,tag ceshi,content 这是内容,author TANKING];$insertArtcle $db-insert(artcles, $data);if($insertArtcle){echo 插入成功;}else{echo 失败 . $db-getError();}?更新数据 update.php ?php// 编码header(Content-type:application/json);// 数据库配置include Db.php;// 连接数据库$db new Database($DbConfig[db_host], $DbConfig[db_user], $DbConfig[db_pwd], $DbConfig[db_name]);// 更新$updateData [tag 测试];$where id 19;$updateArtcle $db-update(artcles, $updateData, $where);if($updateArtcle){echo 更新成功;}else{echo 更新失败 . $db-getError();}?删除数据 delete.php ?php// 编码header(Content-type:application/json);// 数据库配置include Db.php;// 连接数据库$db new Database($DbConfig[db_host], $DbConfig[db_user], $DbConfig[db_pwd], $DbConfig[db_name]);// 删除$where id 11;$deleteArtcle $db-delete(artcles, $where);if($deleteArtcle){echo 删除成功;}else{echo 删除失败 . $db-getError();}?查询一条数据 queryOne.php ?php// 编码header(Content-type:application/json);// 数据库配置include Db.php;// 连接数据库$db new Database($DbConfig[db_host], $DbConfig[db_user], $DbConfig[db_pwd], $DbConfig[db_name]);// 查询一条数据$conditions [id 18];$getArtcle $db-queryOne(artcles, $conditions);if($getArtcle){echo json_encode($getArtcle);}else{echo 查询失败 . $db-getError();}?查询所有数据 queryAll.php ?php// 编码header(Content-type:application/json);// 数据库配置include Db.php;// 连接数据库$db new Database($DbConfig[db_host], $DbConfig[db_user], $DbConfig[db_pwd], $DbConfig[db_name]);// 查询所有数据$conditions [];$getArtcles $db-queryAll(artcles, $conditions);if($getArtcles){echo json_encode($getArtcles);}else{echo 查询失败 . $db-getError();}?执行原生SQL语句 // 插入 $sql INSERT INTO artcles (aid, title, tag, content, author) VALUES (:aid, :title, :tag, :content, :author); $params [:aid rand(100000,999999), :title 这是标题 . uniqid(),:tag tag . rand(0,9),:content 这是内容 . uniqid(),:author TANKING ];// 更新 $sql UPDATE artcles SET title :title WHERE id :id; $params [:id 22,:title 这是标题_已更新, ];// 删除 $sql DELETE FROM artcles WHERE id :id; $params [:id 20 ];// 查询 $sql SELECT * FROM artcles; try {$stmt $db-executeSQL($sql);if ($stmt) {$result $stmt-fetchAll(PDO::FETCH_ASSOC);if (empty($result)) {// 没有匹配的结果echo 没有匹配的结果;} else {echo json_encode($result);}} else {echo 查询失败错误信息 . json_encode($db-getError());} } catch (DatabaseException $e) {// 查询失败echo $e-getMessage(); }作者 TANKING
http://www.w-s-a.com/news/387568/

相关文章:

  • 网站建设 海豚弯专业的网站开发服务商
  • 那个网站有免费模板中国家装公司十大排名
  • 中铁建设集团有限公司门户网站余杭区建设规划局网站
  • 天猫网站建设的目标是什么做网站常见问题模板
  • 做php网站需要什么软件天津建设网官方网站
  • 南漳网站开发上海网站推广方法
  • 深圳seo网站大连旅顺房价
  • dede网站 地图什么做有没有做黑市网站
  • 做网站参考文献域名如何做网站
  • 怎么选择网站开发英文网站建设用途
  • 怎样做电子商务网站织梦生成手机网站
  • 公司网站建设选什么服务器网站里怎样添加关键词
  • 深圳建设局网站深业中城绿化项目营销型网站开发流程包括
  • 找销售的网站九江市建设项目服务中心
  • 东原ARC网站建设公司合肥seo网站推广外包
  • 那个网站是做房产中介的网站制作软件小学
  • 做网页怎么建站点视频解析网站
  • 做网站的系统设计网站设计论文前言
  • 做外贸网站多久更新汕头市建设局网站首页
  • 如何建设专业化的网站手机管理网站模板
  • 花生壳做网站如何用腾讯云做网站
  • 搭建集团网站开发app需要哪些软件
  • 网站建设 中企动力福州阀门wordpress 多说评论
  • php网站集成支付宝接口下载免费网络软件
  • 卡盟网站是怎么建设的用花生壳做网站速度可以吗
  • 杭州物联网前十名公司优秀seo平台
  • 网新中英企业网站管理系统wordpress 登录 缓存
  • wordpress模板建站教程wordpress添加广告位手机自适应
  • h5游戏平台入口优化是什么梗
  • 建设银行对公网站打不开网络推广活动方案主题和思路