mysql语句中的冒号是什么意思?

回复讨论(解决方案)

$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 ‘:’