如果我在SQL查询中有一个函数,例如,如果我有注释,并且我想在SQL中验证该注释是否具有要在列表中显示的最小字符:
$bdd->query('SELECT id, comment FROM comments WHERE count > '. count_chars("id").' ORDER BY time');
所以问题是:如何将id用作此函数的参数?
答案 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版本