0

これは何度か尋ねられたことは知っていますが、私の状況に合ったものが見つからなかったので、尋ねなければなりませんでした.

私は2つのファイルを持っています
1)connection.php

class Database {

    protected $dbh;

    public function __construct() {
        $dsn = 'mysql:dbname=dbname;host=localhost';
        $user = 'dbuser';
        $pass = 'dbpass';

        try {
            $this->dbh = new PDO($dsn, $user, $password);
        } catch (PDOException $e) {
            echo 'Connection failed: ' . $e->getMessage();
        }
    }

    public function displayInfo() {
        $stmt = $this->dbh->prepare("SELECT fname, lname FROM info");
        return $stmt->execute();
    }

}

$db = new Database();

2.) info.php

require_once 'connection.php';

$result = $db->displayInfo();

while ($row = $result->fetch(PDO::FETCH_ASSOC)) {
    echo $row['fname']. " " . $row['lname'];
}

fetch()withを使用できないことを理解しています$result。同じページにある場合は使用できますが、別のページから$stmt->fetch()これを呼び出す方法がわかりませんでした。PDO fetch

4

2 に答える 2

-1

適切なコード。詳細はPDO タグ wikiを参照してください

class Database {

    protected $dbh;

    public function __construct() {
        $dsn = 'mysql:dbname=dbname;host=localhost';
        $user = 'dbuser';
        $pass = 'dbpass';
        $opt = array(
            PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
            PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
        );
        $this->dbh = new PDO($dsn, $user, $password, $opt);
    }

    public function displayInfo() {
        $stmt = $this->dbh->prepare("SELECT fname, lname FROM info");
        $stmt->execute();
        return $stmt->fetchAll();
    }

}
于 2013-04-09T20:00:39.033 に答える