This is part of the Semicolon&Sons Code Diary - consisting of lessons learned on the job. You're in the dumb-mistakes-and-gotchas category.
Last Updated: 2024-11-21
In some code to generate an SQL query for geocoding I had the following:
<? php
"POW((latitude-$lat)*$lat_factor,2)";
The issue was I got a negative $lat
at some point, causing the
SQL string to be POW((latitude--2)
which is invalid.
Parentheses around the $lat
variable fixed things:
<? php
"POW((latitude-($lat))*$lat_factor,2)";
When building up mathematical expressions from strings (e.g. in SQL), anticipate negative numbers by wrapping any and all digits in parentheses (or spacing as necessary, etc.)