検索
ホームページphp教程php手册php mysqlデータベース操作クラス

php mysqlデータベース操作クラス

Jun 13, 2016 pm 12:28 PM
mysqlphpコードコピー操作するデータベース親切

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


/*
* mysql数据库 DB类
* @package db
* @author yytcpt(無影)
* @version 200 8-03 -27
* @copyrigth http://www.d5s.cn/
*/
class db {
var $connection_id = "";
var $pconnect = 0;
var $shutdown_queries = array();
var $queries = array();
var $query_id = "";
var $query_count = 0;
var $record_row = array();
var $failed = 0;
var $halt = "";
var $query_log = array();
function connect($db_config){
if ($this->pconnect){
$this->connection_id = mysql_pconnect($db_config["hostname"], $db_config["username"] , $db_config["パスワード"]);
}else{
$this->connection_id = mysql_connect($db_config["ホスト名"], $db_config["ユーザー名"], $db_config["パスワード"]);
}
if ( ! $this->connection_id ){
$this->halt("MySQL Server に接続できません");
}
if ( ! @mysql_select_db($db_config["database"], $this->connection_id) ){
$this->halt("MySQL データベースに接続できません");
}
if ($db_config["charset"]) {
@mysql_unbuffered_query("SET NAMES '".$db_config["charset"]."'");
}
true を返します。
}
// $this->connection_id);
$this->queries[] = $query_id;
if (! $this->query_id ) {
$this->halt("查询失败:n$query_id");
}
$this->query_count ;
$this->query_log[] = $str;
return $this->query_id;
}
//送信SQL 查询、并不取和缓存結果的実行
function query_unbuffered($sql="")
return $this->query($sql, 'mysql_unbuffered) _クエリ');
}
//从结果集中取得一行作為关联数组
function fetch_array($sql = ""){
if ($sql == "") $sql = $this->クエリID;
$this->record_row = @mysql_fetch_array($sql, MYSQL_ASSOC);
return $this->record_row;
}
function shutdown_query($query_id = ""){
$this->shutdown_queries[] = $query_id;
}
// INSERT、UPDATE、または DELETE の場合のみ、結果セット内の行数を取得します。
functionaffected_rows() {
return @mysql_affected_rows($this->connection_id)
}
// 結果セット内の行数を取得します。SELECT ステートメントでのみ有効です。
function num_rows($query_id="") {
if ($query_id == "") $query_id = $this- >query_id;
Return @mysql_num_rows($query_id);
}
//前の MySQL 操作のエラー メッセージの数値コードを返します
function get_errno(){
$this ->errno = @mysql_err no ($this->connection_id);
return $this->errno;
}
//前の INSERT 操作によって生成された ID を取得します
関数insert_id(){
return @ mysql_insert_id($this->connection_id);
}
//クエリ数を取得します
function query_count() {
return $this-> query_count;
}
// 結果メモリを解放します Function Free_Result ($ query_id = "") {
if ($ query_id == "") $ query_id = $ This- & gt; sult ($ query_id);

// mysql 接続を閉じる
Function Close_db () {
IF ($ this- & gt; connection_id) Return @Mysql_Close ($ this- & gt; connection_id) ;
} >/ / MySQL データベース内のテーブルをリストします。
function get_table_names(){
global $db_config;
$result = mysql_list_tables($db_config["database"]); 🎜> $num_tables = @my sql_numrows($ result);
for ($i = 0; $i $tables[] = mysql_tablename($result, $i) ;
}
mys ql_free_result( $result);
return $tables;
if ($query_id == "") $query_id = $this->query_id; field = mysql_fetch_field($query_id)) {
$fields[] = $field;
}
return $fields;
//错误提案
function halt($the_error=""){
$message = $the_error."
rn";
$message.= $this->get_errno() 。 "
rn";
$sql = "INSERT INTO `db_error`(pagename, errstr, timer) VALUES('".$_SERVER["PHP_SELF"]."', '".addslashes($message)."', ".time ().")";
@mysql_unbuffered_query($sql);
if (DEBUG==true){
echo "MySQL 数据库错误";
echo " rn";
echo "rn";
echo "

rn";
echo "rn";
echo "
rn";
終了します。
}
}
function __destruct(){
$this->shutdown_queries = array();
$this->close_db();
}
function sql_select($tbname, $where="", $limit=0, $fields="*", $orderby="id", $sort="DESC"){
$ sql = "SELECT ".$fields." FROM `".$tbname."` ".($where?" WHERE ".$where:"")." ORDER BY ".$orderby." ".$sort. ($limit ? " limit ".$limit:"");
$sql を返す;
}
function sql_insert($tbname, $row){
foreach ($row as $key=>$value) {
$sqlfield .= $key.",";
$sqlvalue .= "'".$value."',";
}
return "INSERT INTO `".$tbname."`(".substr($sqlfield, 0, -1).") VALUES (".substr($sqlvalue, 0, -1). ")";
}
function sql_update($tbname, $row, $where){
foreach ($row as $key=>$value) {
$sqlud .= $key."= ' ".$value."',";
}
return "UPDATE `".$tbname."` SET ".substr($sqlud, 0, -1)." WHERE ".$where;
}
function sql_delete($tbname, $where){
return "DELETE FROM `".$tbname."` WHERE ".$where;
}
//新增加一条记录
function row_insert($tbname, $row){
$sql = $this->sql_insert($tbname, $row);
return $this->query_unbuffered($sql);
}
//指定されたレコードを更新します
function row_update($tbname, $row, $where){
$sql = $this->sql_update($tbname, $row, $where); > return $this->query_unbuffered($sql);
}
//条件を満たすレコードを削除
function row_delete($tbname, $where){
$sql = $this- > sql_delete($tbname, $where); where クエリ条件、$limit はレコードを返します、$fields はフィールドを返します
*/
function row_select($tbname, $where="", $limit=0, $) field="*", $orderby="id ", $sort="DESC"){
$sql = $this->sql_select($tbname, $where, $limit, $fields, $orderby, $ sort);
return $this-> ;row_query($sql);
}
//レコードを詳細に表示します
function row_select_one($tbname, $where, $fields="*" , $orderby="id"){
$sql = $this->sql_select($tbname, $where, 1, $fields, $orderby);
return $this->row_query_one($sql) );
}
function row_query( $sql){
$rs = $this->query($sql);
$rs_num = $this->num_rows($rs);
$rows = array();
for($i=0; $i $rows[] = $this->fetch_array($rs); 🎜> }
$this->free_result ($rs);
return $rows;
}
function row_query_one($sql){
$rs = $this->query ($sql);
$row = $this->fetch_array($rs);
return $row; //カウント統計
function row_count($tbname , $where=""){
$sql = "SELECT count(id) as row_sum FROM `".$tbname."` ".($where?" WHERE ".$where:"");
$ Row = $ this- & gt; row_query_one ($ SQL);
Return $ row ["row_sum"]; 久しぶりの投稿ですそこで、私がよく使う PHP ファイルのいくつかを共有します。
新しい機能を追加したり改善したりした場合は、みんなと共有してください。



コードをコピー

コードは次のとおりです:


$db_config["hostname"] = "127.0.0.1"; //サーバーアドレス
$db_config["username"] = "root";名前
$db_config["パスワード"] = "root" = "utf8";
$db = new db(); >connect($db_config);
//例: クエリテーブル table_name に cid=1 を持つすべてのレコード。
$row = $db->row_select('table_name', 'cid=1');
?>


詳細な使用法については、db クラスを参照してください。ファイルのコメントは .

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)