我有一个非常标准的MySQL插入语句,似乎没有工作。我将HTML表单发布到此页面,并将信息翻译并插入表格(pending_jobs)。它第一次工作,并且从那以后一直没有工作。我不想更新行,但每次提交代码时都添加一个全新的代码,所以我认为这很简单。下面的代码:INSERT INTO MySQLi声明在第一次后不工作
<?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实际经历,但是当我在数据库中检查表没有新行。任何想法为什么它不会创建一个新的行?
有趣的情况下...你有没有设置任何字段为'UNIQUE'?这将解释沉默的失败。你可以尝试获取错误:http://php.net/manual/en/mysqli.error.php – 2013-03-17 22:04:00