2011-12-19 37 views
0

我想發佈信息到表中,並根據數據是從模擬器還是從我的手機,我想發佈它在兩個不同的地方。如果我從手機發帖,它會進入正確的桌面,但是如果我從我的模擬器發帖,它也會進入我手機的桌子。所以,這使我發現,由於某種原因,這是我模擬器由於某種原因,真正:邏輯PHP從Android發佈時遇到的問題

$_POST['location']!="-1.0 -1.0" 

我複製並粘貼從表中的值「-1.0 -1.0」到邏輯表達。出於某種原因,$ _POST ['location']不是正確的值。句法?這裏是低於我更多的PHP代碼:

if($_POST['location']!="-1.0 -1.0" && $_POST['location']!=""){ 
    $sql1 = "INSERT INTO names_gps (Name,Location) VALUES ('$_POST[name]','$_POST[location]')"; 

//however, in the table names_gps I get "-1.0 -1.0" 

if (!mysql_query($sql1,$con)) 
{ 
    die('Error: ' . mysql_error()); 
} 
echo "1 record added"; 


} else { 
    $sql2 = "INSERT INTO names (Name,Location) VALUES ('$_POST[name]','$_POST[location]')"; 

    if (!mysql_query($sql2,$con)) 
     { 
     die('Error: ' . mysql_error()); 
     } 
echo "1 record added"; 
} 

有人能看到我在這裏犯了一個錯誤?

+1

您可以發佈$ _POST中的輸出。你可能需要做一些像$ requestBody = file_get_contents('php:// input');並查找$ requestBody – 2011-12-19 18:33:47

+0

嗯,我有麻煩得到這個工作 – Stagleton 2011-12-19 18:53:50

回答

0

我剛剛更改了Android代碼,以便如果它無法獲取gps位置,它將返回一個空字符串。然後修改php到:

if($_POST['location']!=""){ 
    $sql1 = "INSERT INTO names_gps (Name,Location) VALUES ('$_POST[name]','$_POST[location]')"; 

那麼它適用於我所尋找的,任何更好的方式來做到這一點?

0

可我知道什麼是場位置的類型,

,請確保該位置字段必須VARCHAR類型長度爲按您的要求的......

VARCHAR( 30)

這可能會解決您的問題

+0

所有東西都從一個字符串發佈到php從android,然後它被轉換成一個字段在SQL(如varchar或其他)。在這一點上,它仍然是一個PHP字符串,所以該領域無關緊要。至少這是我的理解 – Stagleton 2011-12-19 19:22:59