我没有收到任何错误,但数据不会进入wamp数据库 [英] I am getting no errors but the data is not going into the database on wamp

查看:131
本文介绍了我没有收到任何错误,但数据不会进入wamp数据库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图从用户输入表单中获取数据到我的wamp服务器。我试过装载不同的方法和编码,但没有看到工作和提交数据。你能帮我吗?我只在网页设计和数据库上做了一周。

 <?php 

$ username =root;
$ password =;
$ hostname =localhost;
$ database =project;



//连接到服务器
$ dbhandle = mysqli_connect($ hostname,$ username,$ password)
或die(Unable to连接到服务器< br>);
回显连接到服务器< br>;

//连接数据库
$ select_db = mysqli_select_db($ dbhandle,$ database)
或die(无法选择Project数据库);
回显连接到数据库;


//从表单获取值
$名字= $ _POST [Firstname];
$姓氏= $ _POST [姓氏];
$ DOB = $ _POST [DOB];
$地址= $ _POST [地址];
$ Telephone_No = $ _POST [Telephone_No];
$ NOK = $ _POST [NOK];
$ NOK_Address = $ _POST [NOK_Address];
$ vetting_date = $ _POST [vetting_date];
$ Clearance_Expiry = $ _POST [Clearance_Expiry];
$ Current_Employer = $ _POST [Current_Employer];
$重新提交= $ _POST [重新提交];
$ Number_of_Attempts = isset($ _ POST [Number_of_Attempts])? $ _POST [Number_of_Attempts]:1;
$ Qualification1 = $ _POST [Qual_1];
$ date_completed_1 = $ _POST [date_completed_1];
$ Expiry_date_1 = $ _POST [Run_out_date_1];
$ Qualification2 = $ _POST [Qual_2];
$ date_completed_2 = $ _POST [date_completed_2];
$ Expiry_date_2 = $ _POST [Run_out_date_2];
$ Qualification3 = $ _POST [Qual_3];
$ date_completed_3 = $ _POST [date_completed_3];
$ Expiry_date_3 = $ _POST [Run_out_date_3];
$ Qualification4 = $ _POST [Qual_4];
$ date_completed_4 = $ _POST [date_completed_4];
$ Expiry_date_4 = $ _POST [Run_out_date_4];
$ Qualification5 = $ _POST [Qual_5];
$ date_completed_5 = $ _POST [date_completed_5];
$ Expiry_date_5 = $ _POST [Run_out_date_5];
$ Qualification6 = $ _POST [Qual_6];
$ date_completed_6 = $ _POST [date_completed_6];
$ Expiry_date_6 = $ _POST [Run_out_date_6];
$ Qualification7 = $ _POST [Qual_7];
$ date_completed_7 = $ _POST [date_completed_7];
$ Expiry_date_7 = $ _POST [Run_out_date_7];
$ Qualification8 = $ _POST [Qual_8];
$ date_completed_8 = $ _POST [date_completed_8];
$ Expiry_date_8 = $ _POST [Run_out_date_8];
$ Qualification9 = $ _POST [Qual_9];
$ date_completed_9 = $ _POST [date_completed_9];
$ Expiry_date_9 = $ _POST [Run_out_date_9];
$ Qualification10 = $ _POST [Qual_10];
$ date_completed_10 = $ _POST [date_completed_10];
$ Expiry_date_10 = $ _POST [Run_out_date_10];
$ why = $ _POST [why];


//插入数据库

$ query =INSERT INTO`申请者'(`名字','姓',`DOB`,`地址'`````````````$ $ $'$'$'$'$'$'$'$'$'$' `,`$ _ POST [姓氏]`,`$ _ POST [DOB]`,`$ _ POST [联系地址]`,`$ _ POST [Telephone_No]`,`$ NOK`,`$ NOK_Address`,`$ vetting_date`,` $ Clearance_Expiry`,`$ Current_Employer`,`$ Resubmission`,`$ Number_of_Attempts`,`$ why`);









// $ sql =INSERT INTO qualification_link( (`$ date_completed_1`),(Run_out_Date)VALUES(`$ Expiry_date_1`),(date_completed)VALUES(`$ date_completed_2`),(Run_out_Date)VALUES(`$ Expiry_date_2`),(date_completed)VALUES(`$ ('$ date_completed_3`),(Run_out_Date)VALUES(`$ Expiry_date_3`),(date_completed)VALUES(`$ date_completed_4`),(Run_out_Date)VALUES(`$ Expiry_date_4`),(date_completed)VALUES(`$ date_completed_5`),(Run_out_Date) )VALUES('$ Expiry_date_5`),(date_completed)VALUES(`$ date_completed_6`),(Run_out_Date)VALUES(`$ Expiry_date_6`),(date_completed)VALUES(`$ date_completed_7`),(Run_out_Date)VALUES(`$ Expiry_date_7 (date_completed)VALUES(`$ date_completed_8`),(Run_out_Date)VALUES(`$ Expiry_date_8`),(date_completed)VALUES(`$ date_completed_9`),(Run_out_Date)VALUES(`$ Expiry_date_9`),(date_completed) VALUES('$ date_completed_10`),(Run_out_Date)VALUES(`$ Expiry_date_10`); (Qual_1)VALUES(`Qualification1`),(Qual_2)VALUES(`Qualification2`),(Qual_3)VALUES(`Qualification3`),(Qual_4)VALUES(
// $ sql =INSERT INTO (`$ Qualification4`),(Qual_5)VALUES(`Qualification5`),(Qual_6)VALUES(`Qualification6`),(Qual_7)VALUES(`Qualification7`),(Qual_8)VALUES(`Qualification8`) ,(Qual_9)VALUES(`$ Qualification9`),(Qual_10)VALUES(`$ Qualification10`);



//成功将数据插入数据库,显示消息成功。
if($ query){
echoSuccessful;
回显< BR>;
echo< a href = index.php>返回主页< / a>;
}

else {
echo未提交数据;
}

//关闭连接
mysqli_close($ dbhandle)

?>


解决方案

>您使用了错误的 标识符 为你的价值,反思。它们应该是引号。



另外,您不需要查询。



以下是您需要执行的操作:

确保所有的表单元素都包含一个名称属性和一个post方法;看到你没有发布你的表单,所以我需要指出。



使用 mysqli_query() ,你没有使用的东西;需要执行查询。

$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $' ($数据库句柄));

if($ result){echoSuccess!; }

else {echoError。; }

现在,您已经定义了变量,为什么使用 $ _POST ['var'] 在你的查询中?

将您的VALUES变量放在单引号中:

  VALUES('$ Firstname','$ Lastname',..... 

和do

清理您的输入内容:

  $ Firstname = stripslashes($ _ POST [Firstname]); 
$ Firstname = mysqli_real_escape_string($ dbhandle,$ _POST [Firstname]);

并对其余的做相同的处理。



如果你得到一个Undefined index ...的警告,这将是因为一个表单元素可能不会被命名,或包含一个错字。字母大小写很重要。

然而,我强烈建议您使用 准备好的语句 PDO包含准备好的语句 它们是很多afer



添加 错误报告 到文件顶部,这将有助于查找错误。

 <?php 
error_reporting(E_ALL);
ini_set('display_errors',1);

//其余代码

旁注:错误报告只能在分期中进行,而不能进行生产。


I am trying to get data from a user input form into my wamp server. I have tried loads off different methods and coding but none seen to work and submit the data. Can you please help me I am have only done a week on web design and database.

<?php

 $username = "root";
    $password = "";
    $hostname = "localhost";
    $database = "project";



//connection to the server
    $dbhandle = mysqli_connect($hostname, $username, $password)
      or die ("Unable to connect to server<br>");
      echo  "Connected to server<br>";

      //connection to the database
    $select_db = mysqli_select_db($dbhandle, $database)
    or die ("Could not select Project database");
    echo "connected to database";


//Getting the Values from the form
$Firstname = $_POST["Firstname"];
  $Lastname = $_POST["Lastname"];
  $DOB = $_POST["DOB"];
  $Address = $_POST["Address"];
  $Telephone_No = $_POST["Telephone_No"];
  $NOK = $_POST["NOK"];
  $NOK_Address = $_POST["NOK_Address"];
  $vetting_date = $_POST["vetting_date"];
  $Clearance_Expiry = $_POST["Clearance_Expiry"];
  $Current_Employer = $_POST["Current_Employer"];
  $Resubmission = $_POST["Resubmission"];
  $Number_of_Attempts = isset($_POST["Number_of_Attempts"]) ? $_POST["Number_of_Attempts"] : 1;
  $Qualification1 = $_POST["Qual_1"];
  $date_completed_1= $_POST["date_completed_1"];
  $Expiry_date_1 = $_POST["Run_out_date_1"];
  $Qualification2 = $_POST["Qual_2"];
  $date_completed_2 = $_POST["date_completed_2"];
  $Expiry_date_2 = $_POST["Run_out_date_2"];
  $Qualification3 = $_POST["Qual_3"];
  $date_completed_3 = $_POST["date_completed_3"];
  $Expiry_date_3 = $_POST["Run_out_date_3"];
  $Qualification4 = $_POST["Qual_4"];
  $date_completed_4 = $_POST["date_completed_4"];
  $Expiry_date_4 = $_POST["Run_out_date_4"];
  $Qualification5 = $_POST["Qual_5"];
  $date_completed_5 = $_POST["date_completed_5"];
  $Expiry_date_5 = $_POST["Run_out_date_5"];
  $Qualification6 = $_POST["Qual_6"];
  $date_completed_6 = $_POST["date_completed_6"];
  $Expiry_date_6 = $_POST["Run_out_date_6"];
  $Qualification7 = $_POST["Qual_7"];
  $date_completed_7 = $_POST["date_completed_7"];
  $Expiry_date_7 = $_POST["Run_out_date_7"];
  $Qualification8 = $_POST["Qual_8"];
  $date_completed_8 = $_POST["date_completed_8"];
  $Expiry_date_8 = $_POST["Run_out_date_8"];
  $Qualification9 = $_POST["Qual_9"];
  $date_completed_9 = $_POST["date_completed_9"];
  $Expiry_date_9 = $_POST["Run_out_date_9"];
  $Qualification10 = $_POST["Qual_10"];
  $date_completed_10 = $_POST["date_completed_10"];
  $Expiry_date_10 = $_POST["Run_out_date_10"];
  $why = $_POST["why"];


//inserting to the database

$query = "INSERT INTO `applicant` (`Firstname`, `Lastname`, `DOB`, `Address`, `Telephone_No`, `NOK`, `NOK_Address`, `vetting_date`, `Clearance_Expiry`, `Current_Employer`, `Resubmission`, `Number_of_Attempts`, `Why`) 
        VALUES (`$_POST[Firstname]`,`$_POST[Lastname]`,`$_POST[DOB]`,`$_POST[Address]`,`$_POST[Telephone_No]`,`$NOK`,`$NOK_Address`,`$vetting_date`,`$Clearance_Expiry`,`$Current_Employer`,`$Resubmission`,`$Number_of_Attempts`,`$why`)";









  //$sql = "INSERT INTO qualification_link (date_completed) VALUES (`$date_completed_1`), (Run_out_Date) VALUES (`$Expiry_date_1`), (date_completed) VALUES (`$date_completed_2`), (Run_out_Date) VALUES (`$Expiry_date_2`), (date_completed) VALUES (`$date_completed_3`), (Run_out_Date) VALUES (`$Expiry_date_3`), (date_completed) VALUES (`$date_completed_4`), (Run_out_Date) VALUES (`$Expiry_date_4`), (date_completed) VALUES (`$date_completed_5`), (Run_out_Date) VALUES (`$Expiry_date_5`), (date_completed) VALUES (`$date_completed_6`), (Run_out_Date) VALUES (`$Expiry_date_6`), (date_completed) VALUES (`$date_completed_7`), (Run_out_Date) VALUES (`$Expiry_date_7`), (date_completed) VALUES (`$date_completed_8`), (Run_out_Date) VALUES (`$Expiry_date_8`), (date_completed) VALUES (`$date_completed_9`), (Run_out_Date) VALUES (`$Expiry_date_9`), (date_completed) VALUES (`$date_completed_10`), (Run_out_Date) VALUES (`$Expiry_date_10`)";
 // $sql = "INSERT INTO qualification (Qual_1) VALUES (`$Qualification1`), (Qual_2) VALUES (`$Qualification2`), (Qual_3) VALUES (`$Qualification3`), (Qual_4) VALUES (`$Qualification4`), (Qual_5) VALUES (`$Qualification5`), (Qual_6) VALUES (`$Qualification6`), (Qual_7) VALUES (`$Qualification7`), (Qual_8) VALUES (`$Qualification8`), (Qual_9) VALUES (`$Qualification9`), (Qual_10) VALUES (`$Qualification10`)";



 // successfully insert data into database, displays message "Successful".
 if($query){
  echo "Successful";
 echo "<BR>";
 echo "<a href=index.php>Back to Home page</a>";
}

  else {
  echo "Data not Submitted";
}

//closing the connection
   mysqli_close($dbhandle)

   ?>

解决方案

As I originally stated, you're using the wrong identifiers for your VALUES, being backticks. They should be quotes.

Plus, you're not querying.

Here's what you need to do:

Make sure that all your form elements contain a name attribute and a post method; seeing that you did not post your form, so I need to point that out.

Use mysqli_query(), something that you didn't use; it's required to execute the query.

$result = mysqli_query($dbhandle, $query) 
    or die(mysqli_error($dbhandle));

if($result){ echo "Success!"; }

  else{ echo "Error."; }

Now, you've already defined your variables, so why use $_POST['var'] inside your query? Just use the variables.

Place your VALUES variables in single quotes:

VALUES ('$Firstname','$Lastname', .....

and do the same for the rest.

Sanitize your inputs:

$Firstname = stripslashes($_POST["Firstname"]);
$Firstname = mysqli_real_escape_string($dbhandle, $_POST["Firstname"]);

and do the same for the rest.

If you get an "Undefined index..." warning, it will be because a form element may either not be named, or contains a typo. Letter-case is important.

However, I highly suggest that you use prepared statements, or PDO with prepared statements, they're much safer.

Add error reporting to the top of your file(s) which will help find errors.

<?php 
error_reporting(E_ALL);
ini_set('display_errors', 1);

// rest of your code

Sidenote: Error reporting should only be done in staging, and never production.

这篇关于我没有收到任何错误,但数据不会进入wamp数据库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆