回复讨论(解决方案)
$db->bandVars(); 传递值
echo $check_query; 就知道了。
可以看看手册的pdo类
prepare('SELECT name, colour, calories FROM fruit WHERE calories bindParam(':calories', $calories, PDO::PARAM_INT);$sth->bindParam(':colour', $colour, PDO::PARAM_STR, 12);$sth->execute();?>
登录后复制
没有别的意思符号而已,以便区别于 sql 的语法成分
bindVars 方法将定义的符号与实际的变量关联起来
Example #1 Execute a prepared statement with named placeholdersprepare('SELECT name, colour, calories FROM fruit WHERE calories bindParam(':calories', $calories, PDO::PARAM_INT);$sth->bindParam(':colour', $colour, PDO::PARAM_STR, 12);$sth->execute();?>Example #2 Execute a prepared statement with question mark placeholdersprepare('SELECT name, colour, calories FROM fruit WHERE calories bindParam(1, $calories, PDO::PARAM_INT);$sth->bindParam(2, $colour, PDO::PARAM_STR, 12);$sth->execute();?>
登录后复制
大神,以下mysql 语句用来查询排名,在Mysql 中能执行,但是S2SH 框架中就不行,你能指点一下吗?
select t.*,@rownum:=@rownum+1 AS rownum
from (SELECT sum(yjb_yji) as total,yyryusername,yjb_yyry_id
FROM yjb where month(createtime) =month(now()) and year(createtime)=year(now())
group by yjb_yyry_id order by total desc) t,(SELECT @rownum:=0) r
报此bug: org.hibernate.QueryException: Space is not allowed after parameter prefix ‘:’
最新评论