2013-07-15 119 views
0

我已經從網上下載了這個腳本以獲取數據。我在我的java代碼中使用這些數據。事實是,我沒有任何PHP經驗,所以請不要低估這個問題。我無法找出這個腳本中的問題PHP腳本返回數據

這就是這個PHP腳本返回並導致java中的JsonExceptions。

07-15 14:18:46.725: I/System.out(1799): displaying <br /><b>Parse error</b>: 
syntax error, unexpected end of file in <b>C:\xampp\htdocs\xmytestdb\login.php</b> 
on line <b>64</b><br /> 

此腳本導致問題,因爲它不從數據庫返回適當的json格式數據。

<?php 

require("config.inc.php"); 

if (!empty($_POST)) { 

$query = " 
     SELECT 
      id, 
      username, 
      password 
     FROM usernamepass 
     WHERE 
      username = :username 
    "; 

$query_params = array(
    ':username' => $_POST['username'] 
); 

try { 
    $stmt = $db->prepare($query); 
    $result = $stmt->execute($query_params); 
} 
catch (PDOException $ex) { 
    $response["success"] = 0; 
    $response["message"] = "Database Error1. Please Try Again!"; 
    die(json_encode($response)); 

} 


$validated_info = false; 


$row = $stmt->fetch(); 
if ($row) { 

    if ($_POST['password'] === $row['password']) { 
     $login_ok = true; 
    } 
} 


if ($login_ok) { 
    $response["success"] = 1; 
    $response["message"] = "Login successful!"; 
    die(json_encode($response)); 
} else { 
    $response["success"] = 0; 
    $response["message"] = "Invalid Credentials!"; 
    die(json_encode($response)); 
} 
} else { 
?> 

我將非常感謝您的寶貴幫助。

回答

0

的問題是有else沒有不散的

} else { 
} //here 
?> 
+0

我試過,但比不返回任何東西。它返回空字符串。 –

1

你錯過的別人在你的PHP腳本,你有這個閉幕。

} else { //Here the else part is not closed.So you are getting the syntax error 

,它必須這樣

else { } 

if else改變必須是

if(condition){ 
    //Code here 
} 
else{ 
    //Code here 
} 
+0

我在哪裏可以放這個腳本,以便當我去腳本地址時,它會在瀏覽器中返回json格式數據 –

0

你遇到的解析錯誤意味着有一個語法錯誤。我不能告訴,因爲不是所有的代碼,但我認爲你有一個缺少括號「{」

0

因爲我遵循相同的教程和我有同樣的問題,只是複製並粘貼此: 據工作不任何錯誤。

require("config.inc.php"); 
if (!empty($_POST)) { 
$query = "SELECT id, username, password FROM users WHERE username = :username"; 

$query_params = array(
    ':username' => $_POST['username']); 

try { 
    $stmt = $db->prepare($query); 
    $result = $stmt->execute($query_params); 
} 
catch (PDOException $ex) { 

    $response["success"] = 0; 
    $response["message"] = "Database Error1. Please Try Again!"; 
    die(json_encode($response)); 

} 
$validated_info = false; 
$login_ok = false; 

$row = $stmt->fetch(); 
if ($row) { 

    if ($_POST['password'] === $row['password']) { 
     $login_ok = true; 
    } 
}