Doctrine 2 PlainValue expected(学说 2 PlainValue 预期)
问题描述
我在执行 Doctrine DQL 查询时遇到问题.这是它给我的错误.
I'm having trouble executing a Doctrine DQL Query. This is the error it gives me.
DoctrineCommonAnnotationsAnnotationException: [Syntax Error] Expected PlainValue,
got 'integer' at position 13 in property BaseSession::$lifetime.
我的代码如下所示:
$query = $em->createQuery("SELECT s FROM BaseSession s WHERE s.session = "$id"");
其中 $id 是当前 session_id.我的模型看起来像:
Where $id is the current session_id. My Model looks like:
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;
}
推荐答案
你有两个错误:
你必须双引号你的注释,即
@Column(type="integer")
而不是@Column(type=integer)
.当您的映射错误时,会抛出 DoctrineCommonAnnotationsAnnotationException.这与查询无关.
You have to double quote your annotations, i.e.
@Column(type="integer")
not@Column(type=integer)
. DoctrineCommonAnnotationsAnnotationException is thrown when your mapping is wrong. This has nothing to do with the query.
您的查询应该使用准备好的语句,即
Your query should use prepared statements, i.e.
$query = $em->createQuery("SELECT s FROM BaseSession s WHERE s.session = ?1");$query->setParameter(1, $id);
这篇关于学说 2 PlainValue 预期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:学说 2 PlainValue 预期
基础教程推荐
- 通过 PHP SoapClient 请求发送原始 XML 2021-01-01
- WooCommerce 中选定产品类别的自定义产品价格后缀 2021-01-01
- Libpuzzle 索引数百万张图片? 2022-01-01
- XAMPP 服务器不加载 CSS 文件 2022-01-01
- 在 PHP 中强制下载文件 - 在 Joomla 框架内 2022-01-01
- 如何在 PHP 中的请求之间持久化对象 2022-01-01
- 在多维数组中查找最大值 2021-01-01
- 在 Woocommerce 中根据运输方式和付款方式添加费用 2021-01-01
- 超薄框架REST服务两次获得输出 2022-01-01
- mysqli_insert_id 是否有可能在高流量应用程序中返回 2021-01-01