简体   繁体   English

表单输入未通过PHP传递到mySQL数据库

[英]Form Input Not Passing Through PHP to mySQL Database

I am trying to create this form & have it pass the information through PHP to my mySQLi server. 我正在尝试创建此表单,并使其通过PHP将信息传递给我的mySQLi服务器。 None of the fields are passing the entered info through, but when I submit the form, a new row is made in the table. 没有一个字段会传递输入的信息,但是当我提交表单时,表中会出现一个新行。 Also if I try to submit the form again with the forst creted row still in the table, I get the error 另外,如果我尝试再次提交表格,并且表格中仍保留有forst的行,则会收到错误消息

Error: INSERT INTO DOC_Tracking (Num_Start, Num_End, Sch_Org_Name, Date_Entered, Date_Distributed) VALUES ('', '', '', '', '') Duplicate entry '' for key 'PRIMARY' 错误:INSERT INTO DOC_Tracking(Num_Start,Num_End,Sch_Org_Name,Date_Entered,Date_Distributed)VALUES('',``,'','',``'')键'PRIMARY'的重复条目''

Any ideas? 有任何想法吗?

HTML Form: HTML表单:

 <!doctype html> <html> <head> <meta charset="UTF-8"> <title>DOC Tracker</title> <script type="text/javascript"> var downStrokeField; function autojump(fieldName,nextFieldName,fakeMaxLength) { var myForm=document.forms[document.forms.length - 1]; var myField=myForm.elements[fieldName]; myField.nextField=myForm.elements[nextFieldName]; if (myField.maxLength == null) myField.maxLength=fakeMaxLength; myField.onkeydown=autojump_keyDown; myField.onkeyup=autojump_keyUp; } function autojump_keyDown() { this.beforeLength=this.value.length; downStrokeField=this; } function autojump_keyUp() { if ( (this == downStrokeField) && (this.value.length > this.beforeLength) && (this.value.length >= this.maxLength) ) this.nextField.focus(); downStrokeField=null; } </script> </head> <body> <h1>DOC Tracking System</h1> <br> <form ACTION="insert.php" METHOD="POST"> DOC Number Range: <input type="number" id="Num_Start" NAME="DOC_NUM_START" MAXLENGTH="14" SIZE="14"> &nbsp; to &nbsp; <input type="number" id="Num_End" NAME="DOC_NUM_END" MAXLENGTH="14" SIZE="14"> <br> School/Organization Name: <input type="text" id="Sch_Org_Name" NAME="Organization" SIZE="50"> <br> Today's Date: <input type="date" id="Date_Entered" value="<?php echo date('Ym-d'); ?>" name="Date_Entered" /> <br> Date Coupons To Be Distributed: <input type="date" id="Date_Distributed" name="Date_Distributed" /> <br><br> <input type="submit"> </form> <script TYPE="text/javascript"> autojump('DOC_NUM_START', 'DOC_NUM_END', 14); autojump('DOC_NUM_END', 'Organization', 14); </script> </body> </html> 

 <?php $servername = "localhost"; $username = "wilderx2_chris"; $password = "chrisw"; $dbname = "wilderx2_DOCTRACK"; // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $sql = "INSERT INTO DOC_Tracking (Num_Start, Num_End, Sch_Org_Name, Date_Entered, Date_Distributed) VALUES ('$Num_Start', '$Num_End', '$Sch_Org_Name', '$Date_Entered', '$Date_Distributed')"; if ($conn->query($sql) === TRUE) { echo "New record created successfully"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } $conn->close(); ?> 

Screenshot from PHPmyAdmin PHPmyAdmin的屏幕截图

One of your table columns is likely marked as a primary key that must be unique, however you are submitting values for each column - the same data as your first sumbission. 您的一个表列可能被标记为必须唯一的主键,但是您正在为每个列提交值-与您的第一次求和相同的数据。

If you need a unique key, add an ID column perhaps? 如果您需要唯一键,也许添加一个ID列?

Create a separate field in same field as 'id' or 'trackId' and make it as 'primary key' and select auto increment option so that each row having unique id. 在与“ id”或“ trackId”相同的字段中创建一个单独的字段,并将其作为“主键”,然后选择“自动递增”选项,以使每行具有唯一的ID。 Hope this will help. 希望这会有所帮助。 let me know if any details required. 让我知道是否需要任何详细信息。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 更改Javascript控制的HTML表单的值,并对输入进行编码,然后传递给PHP - Changing the value of a Javascript controlled HTML form and encoding the input and passing through to PHP 无法将关联数组从javascript传递到php,并通过准备好的语句将其插入到mysql数据库中 - Trouble passing associative array from javascript to php and insert it into mysql database through prepared statements 通过选择表单将Javascript变量传递给PHP - Passing Javascript variable to PHP, through select form 通过PHP将MySQL数据作为字符串传递给javascript - passing a MySQL data as string through PHP to javascript 输入清理-将HTML传递给JS传递给PHP传递给MySQL - Input sanitization - passing HTML to JS to PHP to MySQL 输入表单和更改表单PHP MySQL - Input form and changing form PHP MySQL PHP中的哪些代码片段可以创建输入表单,从而在mysql数据库中创建一组新数据? - Which code snipplets in PHP can create a input form, which creates a new set of data in my mysql database? 通过sweetalert2中的表单将数据传递到SQL数据库 - Passing data to SQL database through form in sweetalert2 Angular.js将表单输入保存到php和Mysql - Angularjs save form input to php and Mysql PHP / MySQL:将用户输入保存到数据库 - PHP/MySQL: Saving user input to Database
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM