【问题标题】:How to submit form data to the SQL database correctly? [closed]如何正确提交表单数据到SQL数据库? [关闭]
【发布时间】:2020-05-19 20:02:20
【问题描述】:

这是我提交数据的表单

<p align="center" style="color:#F00;">
  <?php echo $msg; ?>
</p>
<form class="form-horizontal style-form" name="form1" method="post" action="Create-jobs.php" onSubmit="return validate();">
  <p style="color:#F00"></p>
  <div class="form-group">
    <label class="col-sm-2 col-sm-2 control-label" style="padding-left:40px;">Job Title</label>
    <div class="col-sm-10">
      <input type="text" class="form-control" name="job_title" placeholder="&lt;Enter Job name&gt;">
    </div>
  </div>

  <div class="form-group">
    <label class="col-sm-2 col-sm-2 control-label" style="padding-left:40px;">Job Description</label>
    <div class="col-sm-10">
      <textarea class="form-control" name="job_des" placeholder="&lt;Enter a detailed description&gt;" cols="17" rows="10"></textarea>
    </div>
  </div>

  <div class="form-group">
    <label class="col-sm-2 col-sm-2 control-label" style="padding-left:40px;">Job Requirements</label>
    <div class="col-sm-10">
      <input type="text" class="form-control" name="job_reqs" placeholder="&lt;Enter requirements seperated by a comma&gt;">
    </div>
  </div>

  <div class="form-group">
    <label class="col-sm-2 col-sm-2 control-label" style="padding-left:40px;">Is the job active?(y/n)</label>
    <div class="col-sm-10">
      <input type="text" class="form-control" name="job_reqs" placeholder="y/n">
    </div>
  </div>

  <div style="margin-left:15px; margin-bottom:15px;">
    <input type="submit" name="submit" value="Create Job" class="btn btn-theme"></div>
</form>

这是我用来提交表单数据的 php 代码。

define('DB_SERVER','localhost');
define('DB_USER','root');
define('DB_PASS' ,'');
define('DB_NAME', 'loginsystem');
$con = mysqli_connect(DB_SERVER,DB_USER,DB_PASS,DB_NAME);

if (mysqli_connect_errno())
{
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

if(isset($_POST['submit']))
{ 
    $jobtitle = $_POST['job_title'];
    $jobdes = $_POST['job_des'];
    $jobreqs = $_POST['job_reqs'];
    $jobactive = "";

    if(job_active == "y") {
        $jobactive = '1';
    } else {
        if(job_active == "n") {
            $jobactive = '0';
        } else {
            $msg = "error in job_active.";
        }
    }   

    $sql = "INSERT INTO jobs (jobID, job_title, job_des, job_reqs, job_active, Posting_date) VALUES (NULL, '$jobtitle', '$jobdes', '$jobreqs', '$jobactive', current_timestamp()')";

    mysqli_query($con,$sql);
    $msg = "it worked successfully!";
} else {
    $msg = "error submitting form.";
}

我正确输入了数据并且代码执行通过了我的所有检查。($msg =“它成功工作正在被触发。)但是数据库本身没有更新。我检查了数据库本身是否有问题但是我的其他页面读取数据库数据正常。谁能告诉我我的代码有什么问题?

【问题讨论】:

标签: php html sql database


【解决方案1】:

在 SQL 语句的末尾留下了一个单引号。尝试先修复它,如果没有帮助,然后打印 SQL 并尝试手动将其插入 MySQL,它应该会显示错误。

$sql = "INSERT INTO jobs (jobID, job_title, job_des, job_reqs, job_active, Posting_date) VALUES (NULL, '$jobtitle', '$jobdes', '$jobreqs', '$jobactive', current_timestamp())";

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-03
    • 1970-01-01
    • 2016-03-24
    • 1970-01-01
    • 2021-12-14
    • 2013-02-18
    • 1970-01-01
    • 2019-01-19
    相关资源
    最近更新 更多