ホームページ  >  記事  >  バックエンド開発  >  データベース接続操作クラス

データベース接続操作クラス

WBOY
WBOYオリジナル
2016-07-25 09:11:41678ブラウズ
データベース接続操作クラス
  1. class mysql
  2. {
  3. private $_link;
  4. public function __construct($dbhost,$dbuser,$dbpassword,$dbname,$charset='utf8')
  5. {
  6. $ this->_link = mysql_connect($dbhost,$dbuser,$dbpassword,true); /*データベースに接続します*/
  7. $this->_link または $this->errmsg('MySQL サーバーに接続できません) ! '); /*接続が成功したかどうか*/
  8. if ($this->version() > '4.1') { /*データベースのバージョンを確認します*/
  9. $this->query('set names '.$charset ); /*データベースのエンコーディングを設定します*/
  10. }
  11. mysql_select_db($dbname,$this->_link) または $this->errmsg('データベースを選択できません!');データベース*/
  12. }
  13. /*データベース操作を実行*/
  14. public function query($sql)
  15. {
  16. $result = mysql_query($sql,$this->_link);
  17. $result または $this ->errmsg( 'SQL 文実行エラー!');
  18. return $result;
  19. }
  20. /*結果セットから取得した行に基づいて生成された配列を返します*/
  21. /*MYSQL_BOTH 両方を含む配列を取得します連想インデックスと数値インデックス (mysql_fetch_array() など)*/
  22. /*MYSQL_ASSOC 連想インデックスと数値インデックスの両方を含む配列を取得します (mysql_fetch_assoc() など)*/
  23. /*MYSQL_NUM 連想インデックスと数値インデックスの両方を含む配列を取得します (mysql_fetch_array() など) mysql_fetch_row())*/
  24. public function fetch_array($result,$type = MYSQL_BOTH)
  25. {
  26. return mysql_fetch_array($result,$type)
  27. }
  28. /*取得した行に基づいて生成されたオブジェクトを返す*/
  29. public function fetch_object($result )
  30. {
  31. return mysql_fetch_object($result);
  32. }
  33. /*前の MySQL 操作の影響を受けたレコード行数を取得します*/
  34. public functionaffected_rows()
  35. {
  36. return mysql_affected_rows($ this->_link);
  37. }
  38. /* 結果メモリを解放します*/
  39. public function free_result($result)
  40. {
  41. return mysql_free_result($result)
  42. }
  43. /* 結果メモリの行数を取得します。 result set*/
  44. public function num_rows($result)
  45. {
  46. return mysql_num_rows($result);
  47. }
  48. /* 結果セット内のフィールドの数を取得します*/
  49. public function num_fields($result)
  50. {
  51. return mysql_num_fields($result);
  52. }
  53. /* 前の INSERT 操作によって生成された ID を取得します*/
  54. public function insert_id()
  55. {
  56. return mysql_insert_id($this->_link);
  57. }
  58. / * mysql 実行エラーを発行します*/
  59. プライベート関数 errmsg($msg)
  60. {
  61. $message = 'mysql エラーが発生しました!
    ';
  62. $message 。 = 'エラー番号:'.mysql_errno($this->_link) .'
    ';
  63. $message .= 'エラーの説明:< /strong>'.$msg .mysql_error($this->_link ) .'
    ';
  64. $message .= 'エラー時間:' Y-m-d H:i:s');
  65. exit($message);
  66. }
  67. /*接続 ID を返す*/
  68. public function link_id()
  69. {
  70. return $this->_link;
  71. }
  72. /*データベースサーバーのバージョンを返す*/
  73. public function version() {
  74. return mysql_get_server_info($this->_link);
  75. }
  76. /*クライアントの実際のIPアドレスを取得*/
  77. function getip() {
  78. if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP" "), "unknown")) {
  79. $ip = getenv("HTTP_CLIENT_IP");
  80. } else
  81. if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown")) {
  82. $ ip = getenv("HTTP_X_FORWARDED_FOR");
  83. } else
  84. if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown ")) {
  85. $ip = getenv("REMOTE_ADDR");
  86. } else
  87. if (isset ($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown")) {
  88. $ip = $_SERVER['REMOTE_ADDR'] ;
  89. } else {
  90. $ip = "unknown";
  91. }
  92. return ($ip);
  93. }
  94. }
コードをコピー


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