0

githubの入門チュートリアルに従っていますが、すべてうまくいきましたが、DB 接続で立ち往生しています。

$db オブジェクトを作成しました。

    $db=new DB\SQL(
    'mysql:host=localhost;port=3306;dbname=liselore',
    'jow',
    ''
);

そして、コントローラーをセットアップしました:

$f3->route('GET /',
function($f3) {

    $f3->set('result',$db->exec('SELECT achternaam FROM test1'));

    $template = new Template;
    echo $template->render('views/homepage.html');

    }
);

$f3->run();

ただし、次のエラーが発生します。

Internal Server Error

Fatal error: Call to a member function exec() on a non-object

• fatfree-master/index.php:32 

エラーは、設定されていない $db オブジェクトに関連していると思います。ただし、php-pdo が設定されています。phpinfo() で確認しました。

どんな助けでも素晴らしいでしょう、thx ...

4

2 に答える 2

2

変数がスコープ内にないことを意味するクロージャーを使用しています。キーワードを使用して、親スコープからの変数の使用を許可するように PHP に指示する必要があります。$dbuse

$f3->route('GET /', function($f3) use ($db) {
    $f3->set('result', $db->exec('SELECT achternaam FROM test1'));

    $template = new Template;
    echo $template->render('views/homepage.html');
});

$f3->run();
于 2013-11-12T11:00:57.777 に答える