我如何在SQL查询中使用SQL值作为参数函数?

时间:2012-07-21 16:35:52

标签: php sql function parameters pdo

如果我在SQL查询中有一个函数,例如,如果我有注释,并且我想在SQL中验证该注释是否具有要在列表中显示的最小字符:

$bdd->query('SELECT id, comment FROM comments WHERE count > '. count_chars("id").' ORDER BY time');

所以问题是:如何将id用作此函数的参数?

1 个答案:

答案 0 :(得分:0)

您正在尝试在SQL查询中使用PHP函数来设置查询结果。 但是,PHP在查询过程中不会 。它只将查询发送到实际处理它的DB。因此,在查询中使用PHP函数将始终产生静态值,该值不会随着DB迭代行而更改。 因此,您需要使用 SQL函数,即LENGTH()。

e.g。只选择有超过50个字符的评论:

 $bdd->query('SELECT id, comment FROM comments WHERE LENGTH(comment)>50 ORDER BY time') // 

注意:该功能可能被称为LEN,具体取决于您的MYSQL版本