Home » Php » Convert MySQL's POINT to text in PHP

Convert MySQL's POINT to text in PHP

Posted by: admin July 12, 2020 Leave a comment


Using PHP, how can I convert a value in POINT datatype to a string like POINT (-34.601020 -58.371020) (an ouput in WKT or GeoJSON is preferable)

If I echo the raw value, I get weird characters.

I’ve tried using bin2hex and then tried to convert the hex to string but with no luck.

I’m aware of MySQL’s AsText(), but I would like to do it in PHP.

How to&Answers:

Finally I’ve got this working!!!

I had to use unpack in order to extract the binary data from MySQL

$point_value = $data_from_db["point_field"];

$coordinates = unpack('x/x/x/x/corder/Ltype/dlat/dlon', $point_value);

echo $coordinates['lat'];
echo $coordinates['lon'];

Here is a tutotial that helped me with this issue