ホームページ > バックエンド開発 > PHPチュートリアル > mysqlのデータベース操作機能のカプセル化について詳しく解説

mysqlのデータベース操作機能のカプセル化について詳しく解説

小云云
リリース: 2023-03-22 19:26:01
オリジナル
1868 人が閲覧しました

今日の PHP 操作データベースのほとんどは mysqli を使用して実装されており、電子商取引のバックエンドでのデータベースの操作と管理にも mysqli を使用するのは非常に簡単です。使用頻度が非常に高いため、関数ライブラリのカプセル化。ここにはカプセル化のためのクラス メソッドはありませんが、統一された方法でまとめられた単純な構造指向のアプローチです:

(1) データベースに接続します:


function connect(){

    @$link = mysqli_connect(DB_HOST,DB_USER,DB_PWD);//连接数据库
    mysqli_set_charset($link,DB_CHARSET);//设置数据库字体格式
    mysqli_select_db($link,DB_DBNAME) or die('数据库打开失败');//选择数据库

    if(mysqli_connect_errno())
    {
        die('数据库连接失败 : '.mysqli_connect_errno());
    }

    return $link;
}
ログイン後にコピー

(2) データを挿入


function insert($link,$table,$array){
    $keys = join(',',array_keys($array));
    $values = "'".join(',',array_values($array))."'";
    $sql = 'insert into {$table}({$keys}) values({$values})';

    mysqli_query($link,$sql);

    return mysqli_insert_id($link);
}
ログイン後にコピー


(3) データの変更



function update($link,$table,$array,$where = null) {
     $setstr = ''; 
     foreach ($array as $key => $value) 
     {
        $setstr .= (' '.$key.'='.$value.' '); 
        if(!$setstr){ 
             $sep = '';
        }else{ 
             $sep = ','; 
        } 
        $setstr .= $sep.$key.'='."'"$value"'";
     } 

     $sql = "update {$table} set {$setstr}".($where ? 'where '.$where : ''); 
     mysqli_query($link,$sql); 

     return mysqli_affected_rows($link); 
}
ログイン後にコピー

(4) データの削除


function delete($link,$table,$where = null)
{
    $sql = "delete from {$table}".($where?'where '.$where : '');
    mysqli_query($link,$sql);

    return mysqli_affected_rows($link); 
}
ログイン後にコピー

(5) レコードの検索


function fetchOne($link,$sql,$result_type=MYSQLI_ASSOC)
{
    $result = mysqli_query($link,$sql);

    $row = mysqli_fetch_array($result,$result_type);

    return $row;
}
ログイン後にコピー

(6) もっと探すレコード


function fetchAll($link,$sql,$result_type=MYSQLI_ASSOC)
{
    $result = mysqli_query($link,$sql);

    while(@$row = mysqli_fetch_array($result,$result_type))
    {
        $row[] = $row;
    }

    return $row;
}
ログイン後にコピー

(7) 結果セット内の行数を返す


function getResultNum($link,$sql)
{
    $result = mysqli_query($link,$sql);

    return mysqli_num_rows($result);
}
ログイン後にコピー

関連推奨事項:

MySQL データベース設計の問題の詳細な例

mysql データベースの最適化の概要

php計算mysqlデータベースサイズコード共有

以上がmysqlのデータベース操作機能のカプセル化について詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート