動作していないように見えるステートメントにかなり標準的なMySQL挿入があります。このページにHTMLフォームを投稿しており、情報を変換してテーブル(pending_jobs)に挿入しています。それは初めて機能し、それ以来機能していません。行を更新するつもりはありませんが、このコードが送信されるたびに新しい行を追加するので、これは非常に簡単だと思いました。コードは次のとおりです。
<?php
include('includes/connect.php');
$id=$mysqli->real_escape_string($_POST['id']);
$sql = "SELECT * FROM users WHERE id='$id'";
$result = $mysqli->query($sql);
$row = mysqli_fetch_array($result);
$user_id = $_SESSION['user_id'];
$company_name = $row['company_name'];
$date_registered = $row['date_registered'];
$job_title=$mysqli->real_escape_string($_POST['jobtitle']);
$job_description=$mysqli->real_escape_string($_POST['jobdescription']);
$salary=$mysqli->real_escape_string($_POST['salary']);
$industry_sector=$mysqli->real_escape_string($_POST['industry']);
$number_people=$mysqli->real_escape_string($_POST['num_people']);
if(isset($_POST['payment']) && $_POST['payment']=='yes'){
$payment_received = 'Yes';
}
else{
$payment_received = 'No';
}
$sql_add = "INSERT INTO pending_jobs (company_name, job_title) VALUES ('$company_name', '$job_title')";
$result_add = $mysqli->query($sql_add);
if(isset($result_add)){
session_start();
$id = $row['id'];
$_SESSION['user_id'] = $user_id;
header('location:profile.php?id='.$id);
} else {
echo "<script>alert('".$job_title."');</script>";
}
?>
これはprofile.phpページにリダイレクトされているため、$ result_addが実際に実行されていることはわかっていますが、データベースのテーブルを確認すると、新しい行はありません。新しい行を作成しない理由について何かアイデアはありますか?