ホームページ > バックエンド開発 > PHPチュートリアル > データベースを呼び出すphpクラス

データベースを呼び出すphpクラス

WBOY
リリース: 2016-07-25 09:10:41
オリジナル
955 人が閲覧しました
  1. class DataBase

  2. {
  3. var $pConnect=FALSE;//長い接続を使用するかどうか
  4. var $mHost;//データベースホスト
  5. var $mDatabase
  6. var $; db ; //データベース
  7. var $mUser; // データベース ユーザー名
  8. var $mConn // クエリの実行結果のリソース ID command
  9. var $ num_rows; // エントリの数を返します
  10. var $insert_id; // クエリコマンドによって影響を受けた列の数を返します
  11. var $insert_id; INSERT、UPDATE、または DELETE による行数。
  12. // where なしで削除すると、0 を返します
  13. // コンストラクター関数
  14. public function __construct($host,$user,$pwd,$db)
  15. {
  16. $this->gt;mHost=$host;
  17. $ this-> ;mUser=$user;
  18. $this->mPwd=$pwd;
  19. $this->db=$db;
  20. }
  21. //データベース接続
  22. public function connect()
  23. {
  24. if( $this- >pConnect)
  25. $this->mConn=mysql_pconnect($this->mHost,$this->mUser,$this->mPwd);//長い接続
  26. else
  27. $this->mConn= mysql_connect($this->mHost,$this->mUser,$this->mPwd);//ショート接続

  28. if(!$this->mConn) $this- >dbhalt("データベースに接続できません!");

  29. if($this->db=="") $this->db=$this->dbDatabase;
  30. if(!mysql_select_db( $this ->db,$this->mConn))
  31. $this->dbhalt("データベースが利用できません!");
  32. } // eof#dbconnect()

  33. データベースを変更します

  34. public function dbChange($db){
  35. $this->db=$db;
  36. $this->connect();
  37. }

  38. // SQL ステートメントを実行します、結果のリソース ID を返します

  39. public functionexecute($sql){
  40. $this->result=mysql_query($sql);
  41. return $this->result;
  42. }

  43. /配列インデックスと関連付けを取得

  44. public function fetchArray($resultType=MYSQL_BOTH)
  45. {
  46. return mysql_fetch_array($this->result,$resultType);
  47. }
  48. //連想配列を取得
  49. public function fetchAssoc()
  50. {
  51. return mysql_fetch_assoc($this->result);
  52. }
  53. //数値インデックス配列を取得
  54. public function fetchIndexArray()
  55. {
  56. return mysql_fetch_row($this->result);
  57. }
  58. //オブジェクト配列を取得
  59. public function fetchObject()
  60. {
  61. return mysql_fetch_object($this->result);
  62. }
  63. //レコード行数を返す
  64. function numRows()
  65. {
  66. return mysql_num_rows($this- >result );
  67. }

  68. // ホスト内のすべてのデータベース名を返します

  69. public function dbNames()
  70. {
  71. $rsPtr=mysql_list_dbs($this->mConn);
  72. $ i=0;
  73. $cnt=mysql_num_rows($rsPtr);
  74. while($i<$cnt)
  75. {
  76. $rs[]=mysql_db_name($rsPtr,$i);
  77. $i++;
  78. }
  79. return $rs ;
  80. }< ;/p>
  81. function dbhalt($errmsg){

  82. $msg="データベースに問題があります!";
  83. $msg=$errmsg;
  84. echo "$msg";
  85. die();
  86. }< /p>
  87. //削除

  88. 関数 delete($sql){
  89. $result=$this->execute($sql,$dbbase);
  90. $this-> ;affected_rows=mysql_affected_rows($this->dbLink);
  91. $this->free_result($result);
  92. return $this->affected_rows;
  93. }

  94. //

  95. を追加function insert($sql){
  96. $result=$this->execute($sql,$dbbase);
  97. $this->insert_id=mysql_insert_id($this->>dbLink);
  98. $this->free_result ($result);
  99. return $ this->insert_id;
  100. }

  101. //

  102. 関数 update($sql){
  103. $result=$this->execute($sql) ,$dbbase);
  104. $this ->affected_rows=mysql_affected_rows($this->dbLink);
  105. $this->free_result($result);
  106. return $this->affected_rows;
  107. }
  108. //接続を閉じる
  109. function dbclose(){
  110. mysql_close($this->dbLink);
  111. }
  112. }// end class
  113. ?>

  114. コードをコピー

呼び出し例:

  1. include "class_database.php";

  2. $mydb=new DataBase("localhost","root","123456" ,"テスト");

  3. $mydb->connect();
  4. $mydb->e​​xecute("名前を設定 GBK");
  5. $mydb->e​​xecute("ユーザーから * を選択");
  6. print_r( $mydb->dbNames());
  7. ?>

コードをコピー


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