2016-04-20 11 views
2

私はシンプルなサイレックスAPIを使っています。私はdbとしてmysqlを使用したいと思いますが、silexを使用して簡単なinsert文を記述すると、それは続かないようです。ここでシレックスがデータベースに挿入できません

は私のindex.phpです:

<?php 
require_once __DIR__.'/../vendor/autoload.php'; 
$app = new Silex\Application(); 
$app['debug'] = true; 

//database connection settings 
$app->register(new Silex\Provider\DoctrineServiceProvider(), array(
    'db.options' => array(
     'dbname' => 'silexdb', 
     'user' => 'root', 
     'host'  => 'localhost', 
     'driver' => 'pdo_mysql', 
     'port'  => 3306 
    ), 
)); 

$app['db']->insert('users', array(
     'firstName' => 'Gabriel', 
     'lastName' => 'Gagno' 
    ) 
); 

//routes 
$app->get('/hello', 'App\\Controllers\\HelloController::hello'); 

$app->run(); 

?> 

そして、私のcomposer.json:

{ 
    "require": { 
     "silex/silex": "~1.3", 
     "symfony/browser-kit": "~2.3", 
     "symfony/console": "~2.3", 
     "symfony/config": "~2.3", 
     "symfony/css-selector": "~2.3", 
     "symfony/dom-crawler": "~2.3", 
     "symfony/filesystem": "~2.3", 
     "symfony/finder": "~2.3", 
     "symfony/form": "~2.3", 
     "symfony/locale": "~2.3", 
     "symfony/process": "~2.3", 
     "symfony/security": "~2.3", 
     "symfony/serializer": "~2.3", 
     "symfony/translation": "~2.3", 
     "symfony/validator": "~2.3", 
     "symfony/monolog-bridge": "~2.3", 
     "symfony/twig-bridge": "~2.3", 
     "doctrine/dbal": "~2.2", 
     "swiftmailer/swiftmailer": "5.*" 
    }, 
    "autoload" : { 
     "psr-4" : { 
     "App\\Controllers\\" : "app/controllers" 
     } 
    } 
} 

私が間違って何をやっていますか?感謝! ありがとう!

答えて

4

は、ルート関数内insertコードを入れてください:

$app->get('/insert',function() use $app { 

    $app['db']->insert('users', array(
     'firstName' => 'Gabriel', 
     'lastName' => 'Gagno' 
    ) 
    ); 

}); 

は、今のコードを挿入するために実行する/insertにアクセスします。

+0

ありがとうございます!私はこのコメントを見る前にそれを解決しましたが、あなたがしたのとまったく同じでした。ありがとう! – dagitab

関連する問題