2013-05-22 27 views
0

我想插入一個WKT格式的多邊形到PostGIS。它適用於PostGIS SQL。現在我想用PHP調用這個函數,但它失敗了。對變量的引用應該是錯誤的。我的代碼如下:如何在PHP中引用變量(pg_query)?

<?php 
$data = A string format data; 
$con="host=localhost dbname=database user=postgres password=great"; 
$dbcon= pg_connect($con); 

$sql="INSERT INTO polygons(geometry) VALUES (ST_GeomFromText(('$data'))"; 
$result= pg_query($dbcon,$pgsql); 
?> 

應該有一些錯誤的$data,它並不是指我的數據。但我不知道如何解決它。

+1

我有點希望你沒有發佈你的真實密碼。 – Spudley

+1

順便說一句:爲了安全和正確性,在構建SQL查詢時切勿使用PHP字符串插值。使用預先準備好的語句或至少逃避字符串(並儘可能晚地退出)。 – Kornel

+0

別擔心,是不是真正的密碼 –

回答

1

每個PHP用戶必須瞭解的內容,它不是插入pg_query變量,而是插入常規PHP字符串

因此它是非常簡單的核實,如果它被插入與否 - 通過只是呼應串出:

echo $sql; 

這樣你可以看到,如果它插入。

  • 如果是 - 其他地方的問題。
  • 如果不會 - 您必須驗證變量本身。
+0

它沒有被插入,因爲它沒有從變量數據中取值。 –

+0

沒有。這意味着變量中沒有數據。 –

+0

但我嘗試echo $ data,它顯示了該變量的所有值。 –