php - 在 Zend Mysql 中强制使用大于数字

标签 php mysql zend-framework zend-framework2

我使用以下代码:

$age=10; //user input
$select
    ->columns(["id"=>"id"])
    ->where->greaterThan("age",$age);

echo $select->getSqlString();

这给了我以下结果:

SELECT "program"."id" AS "id" FROM "program" WHERE "age" > '10'

但是,我想将 > 用于整数,例如得到结果查询

SELECT "program"."id" AS "id" FROM "program" WHERE "age" > 10

如何使用 greaterThan 谓词实现这一点?

我知道我也可以写 ->where("age > $age"); 但这既不安全也不美观。

最佳答案

查看the documentation , greaterThan 有这个函数头:

public function greaterThan($left, $right, $leftType = self::TYPE_IDENTIFIER, $rightType = self::TYPE_VALUE);

虽然没有记录,但将 $rightType 设置为 Predicate::TYPE_LITERAL 的类型可能会公开文字整数值。我不知道 TYPE_LITERAL 值是否仍在正确转义。请核实。

关于php - 在 Zend Mysql 中强制使用大于数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26488900/

相关文章:

php - Zend Framework 如何获取循环中的项目数?部分循环部分计数器和?

php - 如何在 Zend Action Helper(或类中)中使用 uasort()?

javascript - 如何跟踪退出链接

java - org.hibernate.hql.internal.ast.ErrorCounter - 第 1 行 :199: unexpected token: JOIN

php - 如何使用自连接读取MySQL中的分层数据?

Python 的 MySQLdb 无法使用 Homebrewed MySQL 找到 libmysqlclient.dylib

php - PDO:参数编号无效

mysql - 提供给 Zend_Auth_Adapter_DbTable 的参数未能生成有效的 sql 语句

php - md5 salt hash 在数据库中找不到相等的条目

php - 关于在 PHP 中包含 html 页面的问题