/**
* データベース操作クラス
* 2011/8/25
*kcj
**/
クラス MyDB {
プライベート $db_host //データベースホスト名
プライベート $db_user //データベース ユーザー名
プライベート $db_pwd //データベースパスワード
;
プライベート $db_database //データベース名
プライベート $conn //接続 ID
private $result; //実行したクエリコマンドの結果リソース識別子
private $row //返されるエントリの数
プライベート $sql; //SQL 実行ステートメント
プライベート $coding //データベースエンコーディング
Private $bulletin=true; // エラーログを有効にするかどうか
Private $show_error=false; //テスト段階ではすべてのエラーが表示されますが、これにはセキュリティ上のリスクがあり、デフォルトでは閉じられます
Private $is_error=false; //エラーが検出されたときにすぐに終了するかどうか、デフォルトは true ですが、問題が発生したときに何も表示されないのはユーザーにとって非常に不快なため、有効にしないことをお勧めします
//コンストラクター関数
関数 __construct($db_host,$db_user,$db_pwd,$db_database,$conn,$doding){
$this->db_host=$db_host;
$this->db_user=$db_user;
$this->db_pwd=$db_pwd;
$this->db_database=$db_database;
$this->conn=$conn;
$this->coding=$coding;
$this->connect();
}
//データベース接続
パブリック関数 connect(){
If($this->conn=="pconn"){
// 永久接続
$this->conn=mysql_pconnect($this->db_host,$this->db_user,$this->db_pwd);
}その他{
外出
$this->conn=mysql_connect($this->db_host,$this->db_user,$this->db_pwd);
}
If(!mysql_select_db($this->db_database,$this->conn)){
If($this->show_error){
}
}
//データベース実行ステートメント、実行可能クエリ、追加、変更、削除などの SQL ステートメント
パブリック関数クエリ($sql){
if($sql==""){
$this->show_error("SQL ステートメント エラー:","SQL ステートメントが空です");
}
$this->sql=$sql;
$result=mysql_query($this->sql,$this->conn);If(!$result){
If($this->show_error){
$this->show_error("SQL ステートメントのエラー: ",$this->sql);
}else {
$this->結果
}
$ の結果を返します。
}
//新しいデータベースを作成して追加します
パブリック関数 create_database($database_name){
$database=$database_name;
$sqlDatabase='データベースの作成'.$database;
$this->query($sqlDatabase);
}
//サーバー上のすべてのデータベースをクエリします
//より直感的に表示できるように、システム データベースをユーザーから分離します
パブリック関数 show_database(){
$this->query("データベースを表示");
echo "現在のデータベース:".$amount=$this->db_num_rows($rs);
「
」をエコーします。
$i=1;
while ($row=$this->fetch_array($rs)){
echo "$i $row[データベース]";
echo "
";
$i++;
}
}
//ホスト内のすべてのデータベース名を配列の形式で返します
パブリック関数データベース(){
$rsPtr=mysql_list_dbs($this->conn);
$i=0;
$cnt=mysql_num_rows($rsPtr);
ながら ($i
$rs[]=mysql_db_name($rsPtr,$i);
$i++;
}
$rs を返します。
}
//データベース内のすべてのテーブルをクエリします
パブリック関数 show_tables($database_name){
$this->query("show tables");
echo "既存のデータベース:".$amount=$this->db_num_rows($rs);
エコー "
";
$i=1;
while ($row=$this->fetch_array($rs)){
$columnName="Tables_in_".$database_name;
echo "$i $row[$columnName]";
echo "
";
$i++;
}
}
// 結果セットを取得します
パブリック関数 fetch_array($resultt=""){
If($resultt!=""){
return mysql_fetch_array($resultt);
}else {
return mysql_fetch_array($this->result);
}
}
//結果の数を取得 $row['content']
パブリック関数 mysql_result_li(){
戻り mysql_result($str);
}
//連想配列を取得 $row['フィールド名']
パブリック関数 fetch_assoc(){
return mysql_fetch_assoc($this->result);
}
//数値インデックス配列を取得 $row[0] $row[1] $row[2]
パブリック関数 fetch_row(){
return mysql_fetch_row($this->result);
}
// オブジェクト配列を取得し、$row->content を使用します
パブリック関数 fetch_Object(){
return mysql_fetch_object($this->result);
}
// 簡略化されたクエリ選択
パブリック関数 findall($table){
$this->query("select* from $table");
}
// 簡略化されたクエリ選択
パブリック関数 select($table,$columnName="*",$condition='',$debug=''){
$condition=$condition?'where'.$condition:null;
if($debug){
echo "$table $condition から $columnName を選択します";
}その他{
$this->query("select $columnName from $table $condition");
}
}
//削除を簡略化します del
パブリック関数 delete($table,$condition,$url=''){
If($this->query("$condition の $table から削除")){
If(!emptyempty($url)){
$this->Get_admin_msg($url,'削除に成功しました');
}
}
// 簡略化された挿入
パブリック関数 insert($table,$columnName,$value,$url=''){
If($this->query("$table ($columnName) の値 ($value) に挿入")){
If(!emptyempty($url)){
$this->Get_admin_msg($url,'正常に追加されました');
}
}
// 簡素化された更新アップデート
パブリック関数 update($table,$mod_content,$condition,$url=''){
If($this->query("update $table set $mod_content where $condition")){
If(!emptyempty($url)){
$this->Get_admin_msg($url);
}
}
//前の挿入操作の ID を取得します
public function insert_id(){
return mysql_insert_id();
}
//指向确定的一条数据记录
public function db_data_seek($id){
if($id>0){
$id=$id-1;
}
if(!@mysql_data_seek($this->result,$id)){
$this->show_error("sql语句有误:","指定的数据为空");
}
return $this->result;
}
//根据select查询结果计算结果集条数
public function db_num_rows(){
if($this->result=null){
if($this->show_error){
$this->show_error("sql语句错误:","暂时为空,没有任何内容");
}
}else{
return mysql_num_rows($this->result);
}
}
//根据insert update delete执行的结果驱动影响行数
public function db_affected_rows(){
return mysql_affected_rows();
}
//输出显示sql语句
public function show_error($message="",$sql=""){
if(!$sql){
echo "" . $message . "";
echo "
";
}else{
echo "