Rumah > Artikel > pembangunan bahagian belakang > mysql语句中的冒号是什么意思?
mysql语句中的冒号是什么意思?
$db->bandVars(); 传递值
echo $check_query; 就知道了。
可以看看手册的pdo类
<?php/* Execute a prepared statement by binding PHP variables */$calories = 150;$colour = 'red';$sth = $dbh->prepare('SELECT name, colour, calories FROM fruit WHERE calories < :calories AND colour = :colour');$sth->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 placeholders<?php/* Execute a prepared statement by binding PHP variables */$calories = 150;$colour = 'red';$sth = $dbh->prepare('SELECT name, colour, calories FROM fruit WHERE calories < :calories AND colour = :colour');$sth->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 placeholders<?php/* Execute a prepared statement by binding PHP variables */$calories = 150;$colour = 'red';$sth = $dbh->prepare('SELECT name, colour, calories FROM fruit WHERE calories < ? AND colour = ?');$sth->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 ':'