반응형
다음 쿼리가 있습니다.
$query = $em->createQueryBuilder()
->select('u.id, u.username, u.username_canonical, u.email, u.email_canonical, u.last_login, u.name, u.type, u.phone, u.site, u.agency, u.subtype, u.info, u.created_date, u.vip')
->from('ContrateAdminBundle:Fosuser', 'u')
->where('u.created_date BETWEEN "'.$fromdateaccounts.'" AND "'.$todateaccounts.'" ')
->getQuery();
$results = $query->getResult();
Symfony에서 사용자 데이터를 가져 왔지만 다음 오류가 발생했습니다.
[Syntax Error] line 0, col 223: Error: Expected Literal, got '"'
500 Internal Server Error - QueryException
1 linked Exception: QueryException »
내 쿼리 출력은 다음과 같습니다.
SELECT u.id, u.username, u.username_canonical, u.email, u.email_canonical, u.last_login, u.name, u.type, u.phone, u.site, u.agency, u.subtype, u.info, u.created_date, u.vip
FROM ContrateAdminBundle:Fosuser u
WHERE u.created_date BETWEEN "2014-08-04 13:29" AND "2014-10-30 13:29"
해결 방법
SQL의 문자열 리터럴은 큰 따옴표 "
가 아니라 작은 따옴표 '
로 표시되므로 쿼리에서 "
를 문자열 구분 기호로 바꿔야합니다. 작성자 : '
:
$query = $em->createQueryBuilder()
->select('u.id, u.username, u.username_canonical, u.email, u.email_canonical, u.last_login, u.name, u.type, u.phone, u.site, u.agency, u.subtype, u.info, u.created_date,u.vip')
->from('ContrateAdminBundle:Fosuser', 'u')
->where('u.created_date BETWEEN \'${fromdateaccounts}\' AND \'{$todateaccounts}\'')
->getQuery();
참조 페이지 https://stackoverflow.com/questions/28406309
반응형
'MySql' 카테고리의 다른 글
MySQL 데이터베이스에서 htmlentities () 값을 제거하는 방법은 무엇입니까? (0) | 2020.11.24 |
---|---|
MySQL 마지막으로 실행 된 mysql 쿼리의 효과를 롤백하는 방법 (0) | 2020.11.24 |
MySQL Workbench를 Amazon RDS에 연결하는 방법은 무엇입니까? (0) | 2020.11.24 |
MySQL remove duplicate rows based on one column value (0) | 2020.11.24 |
MySQL Adminer로 데이터베이스를 내보내는 방법은 무엇입니까? (0) | 2020.11.24 |
댓글