簡體   English   中英

表單輸入未通過PHP傳遞到mySQL數據庫

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

我正在嘗試創建此表單,並使其通過PHP將信息傳遞給我的mySQLi服務器。 沒有一個字段會傳遞輸入的信息,但是當我提交表單時,表中會出現一個新行。 另外,如果我嘗試再次提交表格,並且表格中仍保留有forst的行,則會收到錯誤消息

錯誤:INSERT INTO DOC_Tracking(Num_Start,Num_End,Sch_Org_Name,Date_Entered,Date_Distributed)VALUES('',``,'','',``'')鍵'PRIMARY'的重復條目''

有任何想法嗎?

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(); ?> 

PHPmyAdmin的屏幕截圖

您的一個表列可能被標記為必須唯一的主鍵,但是您正在為每個列提交值-與您的第一次求和相同的數據。

如果您需要唯一鍵,也許添加一個ID列?

在與“ id”或“ trackId”相同的字段中創建一個單獨的字段,並將其作為“主鍵”,然后選擇“自動遞增”選項,以使每行具有唯一的ID。 希望這會有所幫助。 讓我知道是否需要任何詳細信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM