Silex 无法插入数据库
Silex cannot insert to database
我正在研究一个简单的 silex api。我只想使用 mysql 作为数据库,但是当我继续使用 silex 放置简单的插入语句时,它似乎没有继续。
这是我的 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"
}
}
}
我做错了什么?
谢谢!
将 insert
代码放在路由函数中:
$app->get('/insert',function() use $app {
$app['db']->insert('users', array(
'firstName' => 'Gabriel',
'lastName' => 'Gagno'
)
);
});
现在访问/insert
执行插入代码。
我正在研究一个简单的 silex api。我只想使用 mysql 作为数据库,但是当我继续使用 silex 放置简单的插入语句时,它似乎没有继续。
这是我的 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"
}
}
}
我做错了什么? 谢谢!
将 insert
代码放在路由函数中:
$app->get('/insert',function() use $app {
$app['db']->insert('users', array(
'firstName' => 'Gabriel',
'lastName' => 'Gagno'
)
);
});
现在访问/insert
执行插入代码。