亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

搜索
博主信息
博文 32
粉絲 0
評(píng)論 0
訪問(wèn)量 27827
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
08-02作業(yè):模仿課堂案例,利用接口實(shí)現(xiàn)一個(gè)基本的數(shù)據(jù)庫(kù)操作類(lèi)(CURD)
Yx的博客
原創(chuàng)
1178人瀏覽過(guò)

我們要實(shí)現(xiàn)增刪改查的數(shù)據(jù)庫(kù)原列表如下:

03.png

代碼實(shí)例:

<?php

namespace _2019C;
// 定義一個(gè)接口iJie, 實(shí)現(xiàn)數(shù)據(jù)庫(kù)操作
interface iJie
{
    public function create($data);   // 增加數(shù)據(jù)
    public function read();          // 讀取數(shù)據(jù)
    public function update($data, $where);     // 更新數(shù)據(jù)
    public function delete($where);            // 刪除數(shù)據(jù)
}

// 創(chuàng)建類(lèi) Db
class Db implements iJie
{
    // 數(shù)據(jù)庫(kù)的連接對(duì)象,給一個(gè)空值防止出錯(cuò)
    protected $pdo = null;
    protected $table;

    // 構(gòu)造方法: 連接數(shù)據(jù)庫(kù),并設(shè)置默認(rèn)的數(shù)據(jù)表
    public function __construct($dsn, $username, $password, $table)
    {
        $this->pdo = new \PDO($dsn, $username, $password);
        $this->table = $table;
    }

    // 增加數(shù)據(jù)
    public function create($data)
    {
        // 字段列表,表中有name, age, sex, mobile 字段
        $fields = ' (name, age, sex,  mobile) ';
        $values = ' (:name, :age, :sex,  :mobile) ';
        // 創(chuàng)建數(shù)據(jù)庫(kù)SQL語(yǔ)句
        $sql = 'INSERT INTO '.$this->table . $fields . ' VALUES ' . $values;

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

        return [
            'count' => $stmt->rowCount(),
            'id' => $this->pdo->lastInsertId()
        ];
    }

    // 讀取數(shù)據(jù) ,查詢(xún)操作
    public function read($fileds = '*' , $where='', $limit = '0, 5')
    {
        $where = empty($where) ? '' : ' WHERE ' . $where;
        $limit = ' LIMIT ' . $limit;
        $sql = 'SELECT '. $fileds . ' FROM ' . $this->table. $where . $limit;

        $stmt = $this->pdo->prepare($sql);
        $stmt->execute();
        // 用二維數(shù)組返回所有數(shù)據(jù)
        return $stmt->fetchAll(\PDO::FETCH_ASSOC);

    }

    // 更新數(shù)據(jù)
    public function update($data, $where)
    {
        // 設(shè)置SET參數(shù)
        $keyArr = array_keys($data);
        $set = '';

        // 遍歷數(shù)據(jù)庫(kù)字段列表,
        foreach ($keyArr as $value) {
            $set .= $value . '= :' . $value. ',';
        }
        //把最后一個(gè)逗號(hào)刪除,
        $set =rtrim($set, ', ');

        $sql = 'UPDATE '. $this->table.' SET '.$set.' WHERE '.$where;
        $stmt = $this->pdo->prepare($sql);
        $stmt->execute($data);

        // 返回更新的數(shù)量
        return $stmt->rowCount();

    }

    // 刪除數(shù)據(jù)
    public function delete($where)
    {
        $sql = 'DELETE FROM '. $this->table. ' WHERE '.$where;
        $stmt = $this->pdo->prepare($sql);
        $stmt->execute();
        return $stmt->rowCount();
    }
}

// 實(shí)例化Db
$dsn = 'mysql:host=127.0.0.1;dbname=php';
$username = 'root';
$password = 'root';
$table = 'stud';
$db = new Db($dsn, $username, $password, $table);

// 新增操作
$data = [
    'name'=> '狗子',
    'age'=> 30,
    'sex' => 1,
    'mobile'=> '13888888888'
];

echo '<hr>';
foreach ($db->read() as $item) {
    print_r($item); echo '<br>';
}

echo '<hr>';

// 查詢(xún)操作
foreach ($db->read('stud_id, name, age', 'age > 18') as $item) {
    print_r($item); echo '<br>';
}

// 更新操作
$data = [
    'name'=> '狗子',
    'age'=> 88,
    'sex' => 1,
    'mobile'=> '13000000000'
];

$where = 'stud_id = 16';

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

echo '<hr>';

// 刪除操作,這里就不執(zhí)行了
//$where = 'stud_id = 16';
//echo '成功的刪除了: ' . $db->delete($where) . ' 條記錄';

運(yùn)行實(shí)例 ?

02.png

刪除操作也是如此,下面是更新成功后的數(shù)據(jù)庫(kù)截圖:

01.png



批改狀態(tài):合格

老師批語(yǔ):這個(gè)案例非常的實(shí)用, 完全 可以用在你自己的項(xiàng)目中
本博文版權(quán)歸博主所有,轉(zhuǎn)載請(qǐng)注明地址!如有侵權(quán)、違法,請(qǐng)聯(lián)系admin@php.cn舉報(bào)處理!
全部評(píng)論 文明上網(wǎng)理性發(fā)言,請(qǐng)遵守新聞評(píng)論服務(wù)協(xié)議
0條評(píng)論
作者最新博文
關(guān)于我們 免責(zé)申明 意見(jiàn)反饋 講師合作 廣告合作 最新更新
php中文網(wǎng):公益在線php培訓(xùn),幫助PHP學(xué)習(xí)者快速成長(zhǎng)!
關(guān)注服務(wù)號(hào) 技術(shù)交流群
PHP中文網(wǎng)訂閱號(hào)
每天精選資源文章推送
PHP中文網(wǎng)APP
隨時(shí)隨地碎片化學(xué)習(xí)
PHP中文網(wǎng)抖音號(hào)
發(fā)現(xiàn)有趣的

Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)

  • 登錄PHP中文網(wǎng),和優(yōu)秀的人一起學(xué)習(xí)!
    全站2000+教程免費(fèi)學(xué)