練習用に作成したデータベース操作の基本クラスには、最も基本的な CURD 操作が含まれており、フレームワークに統合できます。
- // 設定ファイル
- $db = array(
- 'host'=>'localhost',
- 'user'=>'root',
- 'password'=>'' ,
- 'database'=>'test',
- )
-
- ?>
- //php class
- class db {
- public $conn;
- public static $sql;
- public static $instance= null;
- プライベート関数 __construct(){
- require_once('db.config.php');
- $this->conn = mysql_connect($db['host'],$db['user'],$db[ 'パスワード']);
- if(!mysql_select_db($db['データベース'],$this->conn)){
- echo "失敗";
- };
- mysql_query('set names utf8',$this- >conn);
- }
- public static function getInstance(){
- if(is_null(self::$instance)){
- self::$instance = new db;
- }
- return self::$instance;
- }
- /**
- * データベースにクエリを実行する
- */
- public function select($table,$condition=array(),$field = array()){
- $where='';
- if(!empty($condition)){
-
- foreach($condition as $k=>$v){
- $where.=$k."='".$v."' および ";
- }
- $where='where '.$where . '1=1';
- }
- $fieldstr = '';
- if(!empty($field)){
-
- foreach($field as $k=>$v){
- $fieldstr.= $v. ',';
- }
- $fieldstr = rtrim($fieldstr,',');
- }else{
- $fieldstr = '*';
- }
- self::$sql = "{$ から {$fieldstr} を選択しますtable} {$where}";
- $result=mysql_query(self::$sql,$this->conn);
- $resuleRow = array();
- $i = 0;
- while($row=mysql_fetch_assoc( $result)){
- foreach($row as $k=>$v){
- $resuleRow[$i][$k] = $v;
- }
- $i++;
- }
- return $resuleRow;
- }
- /**
- *レコードを追加します
- */
- public function insert($table,$data){
- $values = '';
- $datas = '';
- foreach($data as $k=>$v ){
- $values.=$k.',';
- $datas.="'$v'".',';
- }
- $values = rtrim($values,',');
- $ datas = rtrim( $datas,',');
- self::$sql = "{$table} ({$values}) VALUES ({$datas})"に挿入";
- if(mysql_query(self::$) sql)){
- return mysql_insert_id();
- }else{
- return false;
- };
- }
- /**
- * レコードを変更する
- */
- public function update($table,$data,$condition=array()) {
- $where ='';
- if(!empty($condition)){
-
- foreach($condition as $k=>$v){
- $where.=$k."='".$v ."' と ";
- }
- $where='where '.$where .'1=1';
- }
- $updatastr = '';
- if(!empty($data)){
- foreach($data as $k= >$v){
- $updatastr.= $k."='".$v."',";
- }
- $updatastr = 'set '.rtrim($updatastr,',') ;
- }
- self::$sql = "update {$table} {$updatastr} {$where}";
- return mysql_query(self::$sql);
- }
- /**
- * 記録を削除します
- */
- public function delete($ table,$condition){
- $where='';
- if(!empty($condition)){
-
- foreach($condition as $k=>$v){
- $where.=$ k."= '".$v."' および ";
- }
- $where='where '.$where .'1=1';
- }
- self::$sql = "{$table} から削除{$where} ";
- return mysql_query(self::$sql);
-
- }
-
- public static function getLastSql(){
- echo self::$sql;
- }
-
-
-
- }
-
-
Copyコード
- $db = array(
- 'host'=>'localhost',
- 'user'=>'root',
- 'password'=>'',
- 'database' =>'テスト',
- )
-
- ?>
コードをコピー
- class db {
- public $conn;
- public static $sql;
- public static $instance=null;
- private function __construct(){
- require_once('db.config.php');
- $this->conn = mysql_connect($db['host'],$db['user'],$db['password']);
- if(!mysql_select_db($db['database'],$ this->conn)){
- echo "失败";
- };
- mysql_query('set names utf8',$this->conn);
- }
- public static function getInstance(){
- if(is_null(self::$instance)){
- self::$instance = new db;
- }
- return self::$instance;
- }
- /**
- * データベースにクエリを実行する
- */
- public function select($table,$condition=array(),$field = array()){
- $where='';
- if(!empty($condition)){
-
- foreach($ $k=>$v){
- $where.=$k."='".$v."' および ";
- }
- $where='where '.$where .'1=1' としての条件;
- }
- $fieldstr = '';
- if(!empty($field)){
-
- foreach($field as $k=>$v){
- $fieldstr.= $v.',';
- }
- $fieldstr = rtrim($fieldstr,',');
- }else{
- $fieldstr = '*';
- }
- self::$sql = "{$table} {$where から {$fieldstr} を選択します}";
- $result=mysql_query(self::$sql,$this->conn);
- $resuleRow = array();
- $i = 0;
- while($row=mysql_fetch_assoc($result)){
- foreach($row as $k=>$v){
- $resuleRow[$i][$k] = $v;
- }
- $i++;
- }
- return $resuleRow;
- }
- /**
- *レコードを追加します
- */
- public function insert($table,$data){
- $values = '';
- $datas = '';
- foreach($data as $k=>$v){
- $values.= $k.',';
- $datas.="'$v'".',';
- }
- $values = rtrim($values,',');
- $datas = rtrim($datas,', ');
- self::$sql = "{$table} ({$values}) VALUES ({$datas})に挿入";
- if(mysql_query(self::$sql)){
- return mysql_insert_id() ;
- }else{
- return false;
- };
- }
- /**
- * レコードを変更する
- */
- public function update($table,$data,$condition=array()){
- $where='';
- if(!empty($condition)){
-
- foreach($condition as $k=>$v){
- $where.=$k."='".$v."' and ";
- }
- $where='where '.$where .'1=1';
- }
- $updatastr = '';
- if(!empty($data)){
- foreach($data as $k=>$v) {
- $updatastr.= $k."='".$v."',";
- }
- $updatastr = 'set '.rtrim($updatastr,',');
- }
- self::$sql = "update {$table} {$updatastr} {$where}";
- return mysql_query(self::$sql);
- }
- /**
- * 記録を削除します
- */
- public function delete($table,$condition) {
- $where='';
- if(!empty($condition)){
-
- foreach($condition as $k=>$v){
- $where.=$k."='".$v ."' と ";
- }
- $where='where '.$where .'1=1';
- }
- self::$sql = "{$table} {$where} から削除";
- return mysql_query (self::$sql);
-
- }
-
- public static function getLastSql(){
- echo self::$sql;
- }
-
-
-
- }
-
- $db = db::getInstance();
- // $list = $db->select('demo',array('name'=>'tom','password'=>'ds'),array('name','password'));
- //echo $db->insert('demo',array('name'=>'最近你啦','password'=>'123'));
- //echo $db->update ('demo',array("name"=>'xxx',"password"=>'123'),array('id'=>1));
- echo $db->delete('デモ',array('id'=>'2'));
- db::getLastSql();
- echo "
";
- ?>
-
复制代
|