2013-07-15 42 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; 
    } 
}