日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > php >内容正文

php

php写接口curd,接口实战(数据库的CURD操作)

發(fā)布時(shí)間:2023/12/29 php 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php写接口curd,接口实战(数据库的CURD操作) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

interface iCurd{

// ? ?增加數(shù)據(jù)

public function create($data);

//讀取數(shù)據(jù)

public function read();

//更新數(shù)據(jù)

public function update($data,$where);

//刪除數(shù)據(jù)

public function delete($where);

}

//創(chuàng)建工作類Db,來實(shí)現(xiàn)iCurd接口

// 創(chuàng)建Db類, 實(shí)現(xiàn)iCurd接口,完成基本的數(shù)據(jù)庫操作

class Db implements iCurd

{

//數(shù)據(jù)庫的連接對(duì)象

protected $pdo = null;

// 數(shù)據(jù)表名

protected $table;

// 構(gòu)造方法: 連接數(shù)據(jù)庫,并設(shè)置默認(rèn)數(shù)據(jù)表名稱

public function __construct($dsn, $user, $password, $table='staff')

{

$this->pdo = new PDO($dsn, $user, $password);

$this->table = $table;

}

// 讀取

public function read($fields='*', $where='', $limit='0, 5')

{

// 設(shè)置查詢條件

$where = empty($where) ? '' : ' WHERE ' . $where;

// 設(shè)置顯示數(shù)量

$limit = ' LIMIT ' . $limit;

// 預(yù)處理查詢操作

$sql = 'SELECT '.$fields.' FROM '.$this->table.$where.$limit;

$stmt = $this->pdo->prepare($sql);

$stmt->execute();

// 返回二維數(shù)組表示的查詢結(jié)果集

return $stmt->fetchAll(PDO::FETCH_ASSOC);

}

// 新增, 參數(shù)是數(shù)組: 新記錄的鍵值對(duì)

public function create($data)

{

// 字段列表

$fields = ' (name,age,sex,position,mobile,hiredate)';

// 值列表

$values = '(:name,:age,:sex,:position,:mobile,:hiredate)';

// 創(chuàng)建SQL語句

$sql = 'INSERT INTO '.$this->table.$fields.' VALUES '.$values;

// 預(yù)處理執(zhí)行新增操作

$stmt = $this->pdo->prepare($sql);

$stmt->execute($data);

// 返回新增數(shù)量, 新增記錄的ID組成的數(shù)組

return [

'count'=>$stmt->rowCount(),

'id'=>$this->pdo->lastInsertId()

];

}

// 更新, 為了數(shù)據(jù)安全, 不允許無條件更新

public function update($data, $where)

{

// 難點(diǎn)在于SET 參數(shù)的處理上,利用傳入的$data數(shù)組,進(jìn)行拆裝

// 獲取數(shù)組的鍵名組成的數(shù)組

$keyArr = array_keys($data);

$set = '';

// 遍歷鍵名表示的字段列表,拼裝預(yù)處理需要的sql語句,注意占符符的表示

foreach ($keyArr as $value) {

$set .= $value . ' = :' .$value. ', ';

}

// 去掉最后一個(gè)逗號(hào), 注意每個(gè)逗號(hào)后有一個(gè)空格,去除時(shí)也要帶上這個(gè)空格

$set = rtrim($set,', ');

// 預(yù)處理執(zhí)行更新操作

$sql = 'UPDATE '.$this->table.' SET '.$set .' WHERE ' .$where;

$stmt = $this->pdo->prepare($sql);

$stmt->execute($data);

// 返回被更新的記錄數(shù)量

return $stmt->rowCount();

}

// 刪除: 與更新一樣, 這也是危險(xiǎn)的寫操作, 不允許無條件刪除

public function delete($where)

{

// 預(yù)處理執(zhí)行刪除操作

$sql = 'DELETE FROM '.$this->table.' WHERE '.$where;

$stmt = $this->pdo->prepare($sql);

$stmt->execute();

return $stmt->rowCount();

}

}

//客戶端的測(cè)試代碼

$dsn='mysql:host=127.0.0.1;dbname=php';

$user='root';

$password='root';

$db=new Db($dsn,$user,$password);

foreach ($db->read() as $item){

print_r($item);echo '
';

}

echo '


';

//$data=[

// ? ?'name'=>'郭靖',

// ? ?'age'=>30,

// ? ?'sex'=>1,

// ? ?'position'=>'金刀駙馬',

// ? ?'mobile'=>'07916586437',

// ? ?'hiredate'=>time()

//];

//$res=$db->create($data);

//echo '成功地新增了'.$res['count'].'條記錄,最新記錄的id是:'.$res['id'];

//echo '


';

//更新

//$data=['age'=>40,'position'=>'抗金英雄'];

//$where='id=19';

//echo '成功地更新了:'.$db->update($data,$where).'條記錄';

$where='id=19';

echo '成功地刪除了:'.$db->delete($where).'條記錄';

總結(jié)

以上是生活随笔為你收集整理的php写接口curd,接口实战(数据库的CURD操作)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。