ホームページ  >  記事  >  バックエンド開発  >  php pdo mysql 操作クラス

php pdo mysql 操作クラス

WBOY
WBOYオリジナル
2016-07-25 08:54:31929ブラウズ
  1. /**

  2. * PDO 操作
  3. * 作成者: PhpStorm.
  4. * ユーザー: umiaowen
  5. * 日付: 13-11-28
  6. * 時刻: 午後 9 時 12 分
  7. * このテンプレートを変更するには、ファイル | を使用します。設定 |ファイルテンプレート
  8. */
  9. class Pdo_db
  10. {
  11. private $dns = null;
  12. private $username = null;
  13. private $password = null;
  14. private $conn = null;
  15. private static $_instance = null;

  16. プライベート関数 __construct($params = array())

  17. {
  18. $this->dns = $params['dns'];
  19. $this->username = $params['username'];
  20. $this-> ;パスワード = $params['パスワード'];

  21. $this->_connect();

  22. }

  23. プライベート関数 __clone() { }

  24. public function get_instance($params = array())

  25. {
  26. if(!(self::$_instance instanceof self))
  27. {
  28. self::$_instance = new self($params);
  29. }

  30. return self::$_instance;

  31. }

  32. プライベート関数 _connect()

  33. {
  34. try
  35. {
  36. $this->conn = 新しい PDO($this->dns, $this->ユーザー名, $this->パスワード);
  37. $this-> conn->query('set names utf8');
  38. }
  39. catch(PDOException $e)
  40. {
  41. exit('PDOException: ' . $e->getMessage());
  42. }
  43. }
  44. /**

  45. * SQL ステートメントをクエリします
  46. * @param string $sql
  47. * @param array $parameters バインドする必要があるパラメーター
  48. * @param int $option
  49. * @return array
  50. */
  51. public function query($sql, $parameters = array(), $option = PDO::FETCH_ASSOC)
  52. {
  53. $stmt = $this->conn->prepare($sql) );
  54. $stmt->execute($parameters);

  55. $tmp = array();

  56. while($row = $stmt->fetch($option))
  57. {
  58. $tmp[] = $row;
  59. }

  60. return $tmp;

  61. }

  62. /**

  63. * データを挿入します
  64. * @param string $sql
  65. * @param array $parameters
  66. * @return int 1 または 0 影響を受ける行の数を返します
  67. */
  68. public function insert($sql, $parameters = array())
  69. {
  70. $stmt = $this->conn->prepare($sql);
  71. $stmt-> execute($parameters);

  72. return $stmt->rowCount();

  73. }

  74. /**

  75. * データを更新します
  76. * @param string $sql
  77. * @param array $parameters
  78. * @return int 1 または 0 影響を受ける行の数を返します
  79. */ bbs.it-home.org
  80. public function update($sql, $parameters = array())
  81. {
  82. $stmt = $this->conn->prepare($sql) ;
  83. $stmt->execute($parameters);

  84. return $stmt->rowCount();

  85. }

  86. /**

  87. * データの一部を削除します
  88. * @param string $sql
  89. * @param array $parameters
  90. * @return int 1 または 0 影響を受ける行の数を返します
  91. */
  92. public function delete($sql, $parameters = array())
  93. {
  94. $stmt = $this->conn->prepare($sql);
  95. $stmt-> execute($parameters);

  96. return $stmt->rowCount();

  97. }
  98. }

复制代码

代码链グラウンド址:https://github.com/umiaowen/mynotes/tree/master/pdo_mysql_class



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