최근에 데이터베이스를 업데이트하기 위해 PHP 파일을 만들었습니다. 안드로이드 앱의 StringRequest에서이 파일을 사용합니다. 오류 코드 500은 서버 오류입니다. 내 문제는 코드의 문제점을 파악할 수 없다는 것입니다. 누군가가 나에게 무슨 일이 일어나는지 이해하도록 도와 줄 수 있습니까?PHP 코드가 오류 코드 500을 반환합니다. 무엇이 잘못 되었나요?
내 코드 :
<?php
$username = $_POST["username"];
$location = $_POST["location"];
$lastDayName = $_POST["lastDayName"];
$response = array();
$response["success"] = false;
$con = mysqli_connect("website.com", "username", "password", "dbname");
switch($location) {
case "1":
$update_statement = mysqli_prepare($con, "UPDATE location SET lastDayName1=? WHERE username=?");
mysqli_stmt_bind_param($update_statement, "ss", $lastDayName, $username);
mysqli_stmt_execute($update_statement);
mysqli_stmt_close($update_statement);
$update_statement = mysqli_prepare($con, "UPDATE location SET lastDayName2=? WHERE username=?");
mysqli_stmt_bind_param($update_statement, "ss", "", $username);
mysqli_stmt_execute($update_statement);
mysqli_stmt_close($update_statement);
$response["success"] = true;
break;
case "2":
$update_statement = mysqli_prepare($con, "UPDATE location SET lastDayName2=? WHERE username=?");
mysqli_stmt_bind_param($update_statement, "ss", $lastDayName, $username);
mysqli_stmt_execute($update_statement);
mysqli_stmt_close($update_statement);
$update_statement = mysqli_prepare($con, "UPDATE location SET lastDayName3=? WHERE username=?");
mysqli_stmt_bind_param($update_statement, "ss", "", $username);
mysqli_stmt_execute($update_statement);
mysqli_stmt_close($update_statement);
$response["success"] = true;
break;
case "3":
$update_statement = mysqli_prepare($con, "UPDATE location SET lastDayName3=? WHERE username=?");
mysqli_stmt_bind_param($update_statement, "ss", $lastDayName, $username);
mysqli_stmt_execute($update_statement);
mysqli_stmt_close($update_statement);
$update_statement = mysqli_prepare($con, "UPDATE location SET lastDayName4=? WHERE username=?");
mysqli_stmt_bind_param($update_statement, "ss", "", $username);
mysqli_stmt_execute($update_statement);
mysqli_stmt_close($update_statement);
$response["success"] = true;
break;
case "4":
$update_statement = mysqli_prepare($con, "UPDATE location SET lastDayName4=? WHERE username=?");
mysqli_stmt_bind_param($update_statement, "ss", $lastDayName, $username);
mysqli_stmt_execute($update_statement);
mysqli_stmt_close($update_statement);
$update_statement = mysqli_prepare($con, "UPDATE location SET lastDayName5=? WHERE username=?");
mysqli_stmt_bind_param($update_statement, "ss", "", $username);
mysqli_stmt_execute($update_statement);
mysqli_stmt_close($update_statement);
$response["success"] = true;
break;
case "5":
$update_statement = mysqli_prepare($con, "UPDATE location SET lastDayName5=? WHERE username=?");
mysqli_stmt_bind_param($update_statement, "ss", $lastDayName, $username);
mysqli_stmt_execute($update_statement);
mysqli_stmt_close($update_statement);
$update_statement = mysqli_prepare($con, "UPDATE location SET lastDayName6=? WHERE username=?");
mysqli_stmt_bind_param($update_statement, "ss", "", $username);
mysqli_stmt_execute($update_statement);
mysqli_stmt_close($update_statement);
$response["success"] = true;
break;
case "6":
$update_statement = mysqli_prepare($con, "UPDATE location SET lastDayName6=? WHERE username=?");
mysqli_stmt_bind_param($update_statement, "ss", $lastDayName, $username);
mysqli_stmt_execute($update_statement);
mysqli_stmt_close($update_statement);
$update_statement = mysqli_prepare($con, "UPDATE location SET lastDayName7=? WHERE username=?");
mysqli_stmt_bind_param($update_statement, "ss", "", $username);
mysqli_stmt_execute($update_statement);
mysqli_stmt_close($update_statement);
$response["success"] = true;
break;
case "7": /* I don't think this one will be used because it is the last location anyway */
$update_statement = mysqli_prepare($con, "UPDATE location SET lastDayName7=? WHERE username=?");
mysqli_stmt_bind_param($update_statement, "ss", $lastDayName, $username);
mysqli_stmt_execute($update_statement);
mysqli_stmt_close($update_statement);
$response["success"] = true;
break;
default:
$response["success"] = false;
break;
}
$con = null;
echo json_encode($response);
?>
확인 아파치 오류는/var/log/아파치/error.log''에서 관련 오류 메시지/s를 게시하십시오. – razzak
웹 사이트는 다른 웹 사이트에서 호스팅되며 아파치를 사용하는 경우에도이 파일에 액세스 할 수 없습니다. – TheAnonymous010
브라우저에서 스크립트로 이동하면 오류 메시지가 표시됩니까? 그렇지 않다면,'ini_set ('display_errors', 1); error_reporting (E_ALL);ini_set ('display_startup_errors', 1);'이를 가져 와서 게시물에 추가하면 스크립트에 어떤 문제가 있는지 알 수 있습니다. – T3KBAU5