2016-04-20 12 views
2

Ich arbeite an einer einfachen Silex API. Ich möchte nur mysql als db verwenden, aber als ich fortfuhr, einfache insert-Anweisungen mit silex zu schreiben, scheint es nicht weiterzugehen.Silex kann nicht in die Datenbank einfügen

Hier ist meine 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(); 

?> 

Und mein 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" 
     } 
    } 
} 

, was mache ich falsch? danke!

Antwort

4

Put insert Code innerhalb einer Routenfunktion:

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

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

}); 

Jetzt /insert Zugriff auszuführen Code einzufügen.

+0

Danke! Ich habe es gelöst, bevor ich diesen Kommentar gesehen habe, aber ich habe es genauso gemacht wie du. Vielen Dank! – dagitab

Verwandte Themen