Silex无法插入数据库

时间:2016-04-20 03:46:30

标签: doctrine silex

我正在研究一个简单的silex api。我只想使用mysql作为db,但是当我继续使用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"
      }
    }
}
我做错了什么? 谢谢!

1 个答案:

答案 0 :(得分:4)

insert代码放在路由功能中:

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

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

});

现在访问/insert执行以插入代码。