SQL Server STpointfromText comes from PHP into javascript as garbage

General Tech Bugs & Fixes 2 years ago

0 2 0 0 0 tuteeHUB earn credit +10 pts

5 Star Rating 1 Rating

Posted on 16 Aug 2022, this text provides information on Bugs & Fixes related to General Tech. Please note that while accuracy is prioritized, the data presented might not be entirely correct or up-to-date. This information is offered for general knowledge and informational purposes only, and should not be considered as a substitute for professional advice.

Take Quiz To Earn Credits!

Turn Your Knowledge into Earnings.

tuteehub_quiz

Answers (2)

Post Answer
profilepic.png
manpreet Tuteehub forum best answer Best Answer 2 years ago

 

Sorry for the sloppy title. Here's the scenario - I have a table in SQL Server 2008 R2 It has a geographyColumn, created thusly:

add geographyColumn as geography::STPointFromText('POINT('+convert(varchar(20),x_coord)+'     
'+convert(varchar(20),y_coord)+')',4326)

When I viewed it in the table, it looks fine:

POINT (-116.477654 33.764695)

I have some javascript, and a PHP script, to grab points from said table. I can get any text field without a problem. But I want to get the X,Y vales from the geography column. Instead of a nicely formed "X,Y" or even a long string of numbers, I get this mess:

����zU���fC@

My php is the following:

php $q=$_GET["q"]; 
$serverName = "ServerIP"; 
$connectionInfo = array( "Database"=>"geo_spat2", "UID"=>"u", "PWD"=>"p"); 
$con = sqlsrv_connect($serverName, $connectionInfo); 
if (!$con){ 
   die( print_r( sqlsrv_errors(), true)); 
}; 
$sql="SELECT * FROM EMPTY_REPS WHERE Division_label = '".$q."'"; 
$result = sqlsrv_query($con, $sql); 
while($row = sqlsrv_fetch_array($result)) { 
  echo $row['geographyColumn'] . ", "; 
} 
sqlsrv_close($con); 
?>

Am I missing something simple? Thanks, Evan

profilepic.png
manpreet 2 years ago

I would suggest adding another varchar column for WKT and returning that column in your PHP. You can do an update statement and use STAsText() to set the WKT column.

UPDATE myTable
SET WKT = geographyColumn.STAsText();

0 views   0 shares

No matter what stage you're at in your education or career, TuteeHub will help you reach the next level that you're aiming for. Simply,Choose a subject/topic and get started in self-paced practice sessions to improve your knowledge and scores.