2017-01-07 6 views
1

in meinem FallDoctrine2 bestehen und bündig

Symfony2

versuchen, meine Zeilen auf der Schleife zu spülen, aber ich habe Fehler.

was habe ich vermisst?

foreach ($request->request as $key => $val) { 
    $form_result->setTitle($request->request->get('form-title-title-12431243')); 
    $form_result->setFieldId($request->request->get('form-title-id-12431243')); 
    $form_result->setKey($key); 
    $form_result->setIp($request->getClientIp()); 
    $form_result->setType($request->request->get('form-title-type-12431243')); 
    $form_result->setValue($val); 

    $em->persist($form_result); 
    $em->flush(); 
} 

Fehler:

SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'key, type, field_id, ip) VALUES ('test', 'test', 'form-title-title-12431243', 't' at line 1 

Antwort

1

Spalte mit der Bezeichnung key ist reserved word in MySQL. Es empfiehlt sich, reservierte Schlüsselwörter zu vermeiden, aber in Fällen, in denen Sie sie verwenden müssen, verwenden Sie reservierte Wörter, um das Problem zu beheben.