2016-10-01 17 views
0

私はオブジェクト指向プログラミングを学ぼうとしています。 私の問題は、クラス内でmysqli_query()の下にリンクを追加する方法です。手続き的なスタイルでOPP mysqli_query()は2つのパラメータを期待しています...

私は、データベースに接続されます)(接続Iが機能を持っている私のクラスでなど

mysqli_query($変数は、$ SQL)の内側にそれを使用して、接続の詳細を$変数を作成し、 trueを返しますが、Hawは私のmysqli_query()でそれを使用できますか?以下のコードを参照してください:

<?php 

class DB { 
    protected $db_name = 'OOP_forum'; 
    protected $db_user = 'Marcel'; 
    protected $db_pass = *****; 
    protected $db_host = 'localhost'; 


    public function connect() { 

     $connection = mysqli_connect($this->db_host, $this->db_user, $this->db_pass); 
     mysqli_select_db($connection, $this->db_name); 

     return true; 
    } 

    public function processRowSet($rowSet, $singleRow = false) { 

     $resultArray = array(); 
     while($row = mysqli_fetch_assoc($rowSet)) { 
      arraypush($resultArray, $row); 
     } 

      if($singleRow==true) { 
       return $resultArray[0]; 
      }else { 
       return $resultArray; } 
     } 


     public function select ($table, $where, $column = '*') { 
      $sql = "SELECT $column FROM $table WHERE $where"; 
      $result = mysqli_query($sql); 

       if(mysqli_num_row($result) == 1){ 
       return $this->processRowSet($result, true); 
       } else 
        { return $this->processsRowSet($result); 
      } 
      } 



     public function update ($data, $table, $where) { 

         foreach ($data as $column->$value) { 

          $sql = "UPDATE $table SET $column = $value WHERE $where"; 
          mysqli_query($sql) or die(mysqli_error()); 
          } 
          return true; 
         } 

     public function delete ($table, $column, $where) { 
      $sql = "DELETE FROM $table WHERE $column = $where"; 

       if (query($sql)=== TRUE) { 
       echo "Record Deleted sucessfully"; 
      }else { 
       echo "Error deleting record: " . $connection->error; 
      } 

     }    

     public function insert($data, $table) { 

      $columns = ""; 
      $values = ""; 

      foreach ($data as $column->$value) { 

       $columns .= ($columns == "") ? "": ", " ; 
       $columns .= $column; 
       $values .= ($values == "") ? "" : ", "; 
       $values .= $value; 
        } 


      $sql = "insert into $table ($columns) values ($values)"; 
      mysqli_query($sql) or die(mysqli_error()); 

      return mysqli_insert_id(); 
       }  

      } 


?> 
+0

なぜあなたはOOP構文を学んでいるなら、手続き型mysqliを使用していますか? –

+0

ここでは最初のパラメータとして接続オブジェクトを渡す必要があります: - '$ result = mysqli_query($ sql);' –

+0

コメントありがとうございます。それは私が最初にmysqli_queryするためのパラメータ(何か、$ sqlを)が、trueを返す私のconnect関数からそれを達成する方法がわからないなどの接続を渡すためにやろうとしていますものです。より多くを勉強します:) – Marcel

答えて

0

OOPプログラミングを学ぶ前に、基本的なOOP構文を学ばなければなりません。

自分のクラスを作成し、すでに作成したクラスを使用する方法については、しばらくお待ちください。したがって、まずmysqliの使い方を学んでください。これはすでにクラスです。より良い

まだ、mysqliのとは異なり、それはすでにあなたが例えば、processRowSetのような機能を必要としないことで、データベース・アクセス・クラスを使用する準備ができます、として、代わりにPDOを学びます。

関連する問題