2017-03-25 12 views
-1

私はプライベートプロジェクトを作成しています。私は、データベースからデータを収集してページに表示する必要があります。私はOOPを初めて使用しています。私はクエリから結果を表示する方法を探しています。 (私は)私は別のやり方でそれをやったので、私はインターネット上でそれについて何かを見つけることができません。PHP OOPクエリの結果

これは私がデータベースに接続する方法である:

public function query($sql) 
{ 
    $query = $this->instance->prepare($sql); 
    $query->execute(); 

    return $query; 
} 

は、その後、私はこのように、この関数を呼び出しています:

private $host = '127.0.0.1'; 
private $db_name = 'hiding_this'; 
private $username = 'hiding_this'; 
private $password = 'hiding_this'; 
private $socket_type = 'mysql'; 
private $instance = NULL; 

public function __construct() 
{ 
    if ($this->instance == NULL) { 
     try { 
      $db = new PDO('' . $this->socket_type . ':host=' . $this->host . ';dbname=' . $this->db_name . '', $this->username, $this->password); 

      $this->instance = $db; 
     } catch (PDOException $e) { 
      die($e->getMessage()); 
     } 
    } 
} 

次の私は、この関数を書いたクエリを実行しているときのために:

$query = $db->query("SELECT item FROM table WHERE item_id='" . $itemid . "'"); 

これで出力を使用してページに表示したいと思います。 (私はクエリで複数の結果を持っているので、配列として出力するのが望ましい)

ありがとうございます。連想配列を得るための

+0

あなたのPHPクラス名は何ですか? –

+0

クラス名は 'Database'です。 – user6842332

+0

パラメータ化された準備済みの文を使用します。そして、このリンクを参照してくださいhttp://codereview.stackexchange.com/questions/29362/class-for-reducing-development-time/29394#29394 – JimL

答えて

-1

一つの方法は次のとおりです。

public function __construct() 
{ 
    if ($this->instance == NULL) { 
     try { 
      $db = new PDO('' . $this->socket_type . ':host=' . $this->host . ';dbname=' . $this->db_name . '', $this->username, $this->password); 
$db->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);// this part 

      $this->instance = $db; 
     } catch (PDOException $e) { 
      die($e->getMessage()); 
     } 
    } 
} 

は、PHPファイル内のカテゴリを印刷したいと。

あなたがこれを行うことができます:ダウンスクリプトで

<?php 
    $$db = new Database(); 
    $categories = $db->query("SELECT item FROM table WHERE item_id='" . $itemid . "'"); 

?> 

をすることができます$categories配列

例えばループスルー:

<ul> 
<?php 
    foreach($categories as $value){ 
     <li> echo $value</li> 
    } 
    ?> 

</ul> 

はあなたが絵、幸運を得た願っています。

+0

assoc配列を取得します。そのように文字列に変換することはできません。 '** Notice:**配列から文字列への変換(ファイル名)' – user6842332

+0

このコードはforeach($ categoriesとしての$ categories)ループを扱っています –