0

这条线可能有什么问题:

'$query = "SELECT * FROM messages WHERE (rlat => '".$latmin."' AND rlat <= '".$latmax."')      AND (rlon >= '".$lonmin."' AND rlon <= '".$lonmax."')";'

错误:查询错误:SELECT * FROM messages WHERE (r_lat => '55.4655951769' AND r_lat <= '55.496987423') AND (r_lon >= '25.5338700398' AND r_lon <= '25.5989507602')。您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 '=> '55.4655951769' AND r_lat <= '55.496987423') AND (r_lon >= '25.5338700398' AN' 附近使用正确的语法...

谢谢!

4

1 回答 1

3

=>不是已知的运营商。如果您想要大于或等于比较运算符,那么您就在后面>=

顺便说一句,您可能会发现使用BETWEEN ... AND ...运算符可以更简洁地编写查询:

SELECT *
FROM   messages
WHERE  rlat BETWEEN $latmin AND $latmax
   AND rlon BETWEEN $lonmin AND $lonmax

您还应该调查通过参数到准备好的语句的方式将变量传递到您的 SQL 中。

于 2013-07-12T17:42:32.853 回答