11
Ich habe Probleme beim Ausführen einer Doctrine DQL Query. Das ist der Fehler, den es mir gibt.Doctrine 2 PlainValue erwartet
Doctrine\Common\Annotations\AnnotationException: [Syntax Error] Expected PlainValue,
got 'integer' at position 13 in property Base\Session::$lifetime.
Mein Code sieht wie folgt aus:
$query = $em->createQuery("SELECT s FROM Base\Session s WHERE s.session = \"$id\"");
Wo $ id den aktuellen Sitzungs_ID ist. Mein Modell sieht so aus:
namespace Base;
/** @Entity @Table(name="session") */
class Session extends Skeleton {
/**
* @Id @Column(type="integer")
* @GeneratedValue(strategy="AUTO")
*/
protected $id;
/** @Column(length=32) */
protected $session;
/** @Column(type=integer) */
protected $lifetime;
/** @Column(type=integer) */
protected $modified;
/** @Column(type="text") */
protected $data;
}
Danke. Der erste Fehler war die Lösung. Ich kannte deinen zweiten Punkt bereits. Habe gerade so viele Dinge ausprobiert, dass ich mit dieser Codezeile gelandet bin, in der ich vergessen habe, die vorbereitete Aussage zu verwenden. Danke vielmals! –
Als ein zusätzlicher Kommentar zu # 1, funktionieren auch einfache Anführungszeichen nicht, müssen doppelte Anführungszeichen sein – Shawn