ホームページ  >  記事  >  バックエンド開発  >  PDO_PHP チュートリアルに基づいたデータベース操作クラス

PDO_PHP チュートリアルに基づいたデータベース操作クラス

WBOY
WBOYオリジナル
2016-07-21 15:31:25745ブラウズ

Baidu が PDO を使用することを決定した理由については、ここでは詳しく説明しませんが、Baidu を参照してください。
変更したいので、基本的によく使うデータベース操作クラス、いわゆる追加、削除、変更、クエリなどを用意する必要があります。徹夜で色々いじって、大まかなプロトタイプを思いつきました。以下、コードを記載させていただければ幸いです。

コードをコピーします コードは次のとおりです:

/*
作成者: Hu Rui
日付: 2011/03/19
メール: hooray0905@foxmail.com
20110319
共通データベース操作: 追加、削除、変更、クエリ、単一レコードまたは複数レコードの取得、最後に挿入されたレコード ID の返し、操作レコードの行数の返しなど。
*/
/*
パラメータの説明
int $debug デバッグを有効にするかどうか、有効な場合は SQL ステートメントが出力されます
int $getcount カウントするかどうか、戻り値は行数です
int $getrow 単一レコードを返すかどうか
string $table データベーステーブル
string $fields クエリ対象のデータベースフィールド、空にすることができます。デフォルトはすべてを検索します。
string $sqlwhere クエリ条件、空にすることができます。
string $orderby 並べ替え、空にすることができます。デフォルトは ID 逆順です。
*/
function hrSelect($debug, $getcount, $getrow, $table, $fields="*", $sqlwhere="", $orderby="id desc"){
global $pdo($ debug){
if($getcount){
echo "select count(*) from $table where 1=1 $sqlwhere order by $orderby" ;
}else{
echo "select $fields from $table where 1=1 $sqlwhere order by $orderby";
}
exit;
}else{
if($getcount){
$rs = $pdo-> ;query("select count(*) from $table where 1=1 $sqlwhere $orderby");
return $rs->fetchColumn();
}elseif($getrow){
$rs = $pdo ->query("select $fields from $table where 1=1 $sqlwhere $orderby で注文");
return $rs->fetch();
}else{
$rs = $pdo->query ("select $fields from $table where 1=1 $sqlwhere order by $orderby ");
return $rs->fetchAll();
}
}
}
/*
パラメータの説明
int $debugが有効かどうか デバッグ、有効にするとSQL文が出力されます。
int $execrowは
int $lastinsertid は、有効な場合、最後に挿入されたレコード ID を返します。
string $fields データベースに挿入する必要があるフィールド。挿入する必要がある $values は、$fields と 1 対 1 で対応する必要があります
*/
function hrInsert($debug, $execrow, $lastinsertid, $table, $fields, $values){
global $pdo;
if($debug){
echo "$table ($fields) 値に挿入"
}elseif($execrow){
return $pdo->exec( "$table ($fields) の値に挿入 ($values )");
}elseif($lastinsertid){
return $pdo->lastInsertId("$table ($fields) の値に挿入 ($値)");
}else{
$pdo->query( "$table ($fields) 値に挿入 ($values)");
}
}
/*
パラメータの説明
int $debugデバッグを有効にするかどうか、有効にした場合は SQL ステートメントを出力します
int $execrow 実行を有効にしてエントリを返すかどうか 数値
string $table データベース テーブル
string $set 更新する必要があるフィールドと内容、形式: a='abc', b=2,c='2010-10-10 10:10:10'
string $sqlwhere 条件を変更します。空にすることもできます
*/
function hrUpdate($debug, $execrow, $table, $set, $sqlwhere =""){
global $pdo;
if($debug){
echo "update $table set $set where 1=1 $sqlwhere"
}elseif($execrow){
return $pdo- >exec("update $table set $set where 1=1 $sqlwhere");
}else{
$pdo->query("update $table set $set where 1=1 $sqlwhere");
}
/*
パラメータの説明
int $debug デバッグを有効にするかどうか、有効にするとSQL文が出力されます
int $execrow 実行エントリ数を返すのを有効にするかどうか
string $table データベーステーブル
string $ sqlwhere の削除条件、空でも可
*/
function hrDelete($debug, $execrow, $table, $sqlwhere=""){
global $pdo;
if($debug){
echo "$table から削除where 1=1 $sqlwhere";
exit;
}elseif($execrow){
return $pdo->exec("delete from $table where 1= 1 $sqlwhere");
}else{
$pdo- >query("delete from $table where 1=1 $sqlwhere");
}
}
?>


パラメータは明確に記述されています。 、直接聞いてください。



http://www.bkjia.com/PHPjc/323020.html

www.bkjia.com

tru​​e

技術記事その後、Baidu が PDO を使用することを決定した理由については、ここでは詳しく説明しません。Baidu を参照してください。 変更したいので、最も基本的なことは、共通のデータベース操作を行うことです...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。