0

「forum_question」テーブルのすべての内容を印刷したいと考えています。私は何を間違っていますか?何があっても、「Nothing found!」というメッセージが表示されますが、$db->connect が機能することは確かなので、query または loadRows 関数を使用する必要があります。

これは私のデータベースクラスです:

<?php
class Database {
    private $host;
    private $user;
    private $password;
    private $rows;
    private $result;    
    private $dbName;
    private $connection;    
    private $isReady;

    public function __construct() {         
        $this->result = null;
        $this->isReady = false; 
        }

        /* setters */
    public function setHost($host){ $this->host = $host; }
    public function setUser($user){ $this->user = $user; }
    public function setPassword($password){ $this->password = $password; }
    public function setDbName($dbName){ $this->dbName = $dbName; }

    /* Interface functions */
    public function initiate($host=null,$user=null,$password=null,$dbName=null) {
        if(isset($host,$user,$password,$dbName)==false) {
            die("Please provide require settings.");
        }
        $this->setHost($host);
        $this->setUser($user);
        $this->setPassword($password);
        $this->setDbName($dbName);
        $this->isReady = true;
    }

    public function connect() {
        if($this->isReady==false) {
            die("Not ready to connect, please initiate connection");
        }
        $connection_string = "mysql:host=".$this->host.";dbname=".$this->dbName;
        $this->connection = new PDO($connection_string, $this->user, $this->password);
        $this->query("SET NAMES 'utf8'",$this->connection); // ensure character/language support
    }   

    public function disconnect() {
        $this->connection = null;
        $this->isReady = false;
        $this->setHost = null;
        $this->setUser = null;
        $this->setPassword = null;
        $this->setDbName = null;
    }

    public function query($sql) {
        $this->result = $this->connection->query($sql);
    }   

    public function countRows() {
        return $this->result->rowCount(); }

    public function loadRows() {
        if(!$this->result) die("Nothing found!");
        $this->rows = array();
        foreach ($this->result as $row) {
            $this->rows[] = $row;
        }
        return $this->rows;
    }

} // End of Database class
?>

これは私のインデックスファイルです:

<?php

require_once 'class_database.php'; 

$db = new Database(); 
$db->initiate("localhost","USER","PASSWORD","DATABASE"); 
$db->connect();

$db->query("SELECT * FROM 'forum_question'");
$db->loadRows();


?>
4

1 に答える 1