PHP에서 백엔드가있는 간단한 웹 응용 프로그램이 있습니다. 나는 3 시간 동안 노력했지만 문제를 해결할 수 없었다. 다음과 같이준비된 문장이 실행되지 않았습니다
내 코드는 다음과 같습니다
1 db_connect.php
<?php
define("HOST", '127.0.0.1');
define("USER", 'root');
define("PASSWORD", '');
define("DB", 'tourist guide');
$con = new mysqli(HOST,USER,PASSWORD,DB);
if ($con->connect_errno){
die("Database Connection Failed");
exit();
}
2. index.php를
<?php
require_once 'db_connect.php';
$response = array();
$result = "";
if (isset($_POST['firstname']) && isset($_POST['lastname']) && isset($_POST['email'])&& isset($_POST['password'])) {
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$email = $_POST['email'];
$password = $_POST['password'];
$stmt = $con->prepare("INSERT INTO
user_accounts
(first_name,last_name,email,password)
VALUES
(?,?,?,?)");
echo 'prepared statement executed. ';
$stmt->bind_param('ssss', $firstname, $lastname, $email, $password);
echo 'values given. ';
$result = $stmt->execute();
echo 'statement is executed. ';
$stmt->close();
}
if ($result) {
$response["success"] = 1;
$response["message"] = "account successfully created.";
echo json_encode($response);
} else {
$response["success"] = 0;
$response["message"] = "An error occurred during registration.";
echo json_encode($response);
}
>
그리고? 출력은 다음과 같다. s :
prepared statement executed. values given. statement is executed. {"success":0,"message":"An error occurred during registration."}
실수는 $result = $stmt->execute();
이어야합니다. 내가 틀렸어? 또는 오류가 다른 것입니까? plz 도움.
UPDATE :
if(!$stmt->execute()){trigger_error("there was an error....".$con->error, E_USER_WARNING);}
것은 이제 그는 실제 오류가 표시되고 : 내가 추가 프레드의 코멘트에서
오류가 외국 내 데이터베이스에 같은
Cannot add or update a child row: a foreign key constraint fails
보인다 열쇠 ... 나중에 해결할게. 오류에 대해 알고 있다면, 제발 ... 고마워. 프레드.
DB 연결을 너무 빨리 종료하는 것처럼 보입니다. –
@ Fred-ii- 그래서 $ stmt-> close();를 어디에 넣어야합니까?'$ stmt-> close();'를'echo json_encode ($ response); – xyz
닫는'?>'태그 바로 앞에. 또한 양식 요소에 모두 name 속성이 있는지 확인하십시오. ' php' 태그를 연 직후에 파일 상단에 오류보고를 추가하십시오. 'error_reporting (E_ALL); ini_set ('display_errors', 1); '결과가 나오는지 확인하십시오. –