ホームページ >php教程 >php手册 >私自身の MYSQL 接続クラスも投稿しました。これはオリジナルです。修正してください。

私自身の MYSQL 接続クラスも投稿しました。これはオリジナルです。修正してください。

WBOY
WBOYオリジナル
2016-06-21 09:09:14922ブラウズ

mysql|原创

class dbLink            //数据库查询的类
{   var $dBaseLink;        //数据库连接指针
    var $dBase;
    
    function dbLink($base="")        //构造函数
                                      //$base 为选择数据库名称
  { $this->dBaseLink=@mysql_connect("host","user","password");
    if(!$this->dBaseLink) die($this->dbError("1"));
    if($base!="") $this->dbChange($base);

  }

    function dbClose()        //关闭数据库连接
  { mysql_close($this->dBaseLink);
  }

    function dbError($n,$sql="")    //输出错误信息,并退出程序
  {
    $dbErrorCode=array(
            1 => "不能连接到数据库",
            1004 => DB_ERROR_CANNOT_CREATE,
            1005 => DB_ERROR_CANNOT_CREATE,
            1006 => DB_ERROR_CANNOT_CREATE,
            1007 => "对象已经存在,不能完成创建操作",
            1008 => "不能完成删除操作",
            1046 => DB_ERROR_NODBSELECTED,
            1050 => DB_ERROR_ALREADY_EXISTS,
            1051 => DB_ERROR_NOSUCHTABLE,
            1054 => "所检索的字段不存在",
            1062 => DB_ERROR_ALREADY_EXISTS,
            1064 => DB_ERROR_SYNTAX,
            1100 => DB_ERROR_NOT_LOCKED,
            1136 => DB_ERROR_VALUE_COUNT_ON_ROW,
            1146 => "所检索的数据表不存在",
            1049 => "所选择的数据库不存在"
        );  
    echo "

错误 $n :".$dbErrorCode[$n]."
".$sql."
";

}
function dbChange($base) //現在のデータベースを変更します
{
$this->dBase=$base;
@mysql_select_db($base,$this->dBaseLink);
if( $ msg=mysql_errno($this->dBaseLink)) die($this->dbError($msg));

}


function dbQuery($sql,$base="",$type=0) /アクセス指定されたデータベースは、アクセスしていないデータベースです。 , 1 は値の形式を返します
{ if($base!="" || $this->dBase!=$base) $this->dbChange($base);
$result=@mysql_query($sql, $ this->dBaseLink);
if($msg=mysql_errno($this->dBaseLink)) die($this->dbError($msg,$sql));

@$num=mysql_num_rows($ result) );
if($num==0) $rtArray="";
else {
for($i=0;$i $rtArray[$i]=($type= = 0)?mysql_fetch_array($result):mysql_fetch_row($result);

function dbCountRecords($table,$where="" ,$base="",$index="id") //統計テーブルcomplete where where where name $ $ // $ index操作を使用する{if($ base!= $ this-> dbase!= $ base)$ this- gt($ base);
$ result = mysql_query("select count(".$index.") as 'num' from $table ".$where,$this->dBaseLink);
@$num = mysql_result($result,0," num");
@mysql_free_result($result);
return $num;
}



function dbIo($sql,$base="") //挿入操作など、戻り値のない SQL 操作は、新しく挿入された ID、更新、削除には戻り値はありません
{ if($base!="" || $this->dBase!=$base) $this->dbChange($base);
    $result=@mysql_query($sql,$this->dBaseLink);
@mysql_free_result($result);
return mysql_insert_id($this->dBaseLink);

}

関数,$base ) //字段情報列表
{ $pt = @mysql_list_fields($base,$table);
if($msg=mysql_errno($this->dBaseLink)) die($this->dbError($msg)) ;
$n=mysql_num_fields($pt);
for($i=0;$i<$n;$i++) {
$name = mysql_field_name($pt,$i);
$type = mysql_field_type($pt) 、$ i);
$ len = mysql_field_len($ pt、$ i); $ rt [$ i] = array( "name" =&gt; $ name、// , //字段类型
"len" =>                //字段長度
}
return $rt;
}

function dbTableList($basename) //データ库basenameの表情報
{
$result=mysql_list_tables($basename, $this->dBaseLink);
$rt =mysql_fetch_array($result);
@mysql_free_result($result);
return $rt;
}

}



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