2016-04-16 193 views
1

我在android studio中爲登錄/註冊製作項目。 我使用排雷庫和一個php腳本,連接我的java代碼和我的數據庫。POST方法工作完美,我可以在我的數據庫中插入信息。但我沒有收到任何迴應。看到有一個錯誤,在我的PHP腳本。 下面是PHP腳本:響應方法在php腳本中無法正常工作

$con = mysqli_connect("mysql10.000webhost.com", "a3288368_user", "abcd1234", "a3288368_data"); 

$name = $_POST["name"]; 
$age = $_POST["age"]; 
$username = $_POST["username"]; 
$password = $_POST["password"]; 
$statement = mysqli_prepare($con, "INSERT INTO user (name, age, username, password) VALUES (?, ?, ?, ?)"); 
mysqli_stmt_bind_param($statement, "siss", $name, $age, $username, $password); 
mysqli_stmt_execute($statement); 

$response = array(); 
$response["success"] = true; 

echo json_encode($response); 

任何想法是什麼問題呢?

+0

對服務器上的文件'var_export($ response)'最好看看它的內容是什麼(如果你可以調試它,那麼肯定使用帶有斷點的調試器) –

回答

1

使用

print_r(json_encode($response)); 

不能呼應JSON字符串。

+0

可以回顯任何東西。 print_r()只是一個渲染數組的問題(這是PHP的問題)。 Echo將[包]內容發送回客戶端。 –

+0

準確地說,我的意思是說用戶必須調用該[數據包]才能使用echo而不是整個json字符串得到結果。如果我錯了,請糾正我。 他可以使用:'echo $ response ['success'];' –

+1

當你在'json_encode()'你正在創建一個字符串。該字符串僅對JSON解析器有意義,否則,它只是一個字符串,因爲「Hello World」是一個[字符]字符串。 如果用戶不想'json_encode()' –

1

呼應出響應之前,您應該設置一個JSON頭:

header("Content-type: application/json; charset=utf-8"); 

這告訴HTTP客戶端期望的內容的JSON類型。

+0

我正在使用排球庫。似乎不起作用排除 –