[PHP-DB] Undefined Index error when trying to insert data from a form into a db
Hello to all: I am getting the following error message when trying to insert data from an html form into a MYSQL database that I recently created. Can someone take a look at the errors and corresponding code and suggest some alternatives? Thank you very much in advance for your assistance. Regards, Chris McCourt Error Message: Notice: Undefined index: Store_ID in c:\program files\apache group\apache\htdocs\insertdata.php on line 9 Notice: Undefined index: Postal_Code in c:\program files\apache group\apache\htdocs\insertdata.php on line 14 Notice: Undefined index: Cert_Org in c:\program files\apache group\apache\htdocs\insertdata.php on line 17 Notice: Undefined index: Cert_Level_ID in c:\program files\apache group\apache\htdocs\insertdata.php on line 18 Notice: Undefined index: Cert_Date in c:\program files\apache group\apache\htdocs\insertdata.php on line 19 Notice: Undefined index: Emerg_Contact_Name in c:\program files\apache group\apache\htdocs\insertdata.php on line 20 Notice: Undefined index: Emerg_Contact_Phone in c:\program files\apache group\apache\htdocs\insertdata.php on line 21 Error: Unable to execute insertion query. +++ Original PHP Code: HTML HEAD TITLE Inserting Data Into a Database/TITLE BODY ?php /* This page receives and handles the data generated by the form Insert_Table_Form.html*/ $Store = ($_POST['Store_ID']); $Users = ($_POST['User_Name']); $Pass = ($_POST['Password']); $Addr = ($_POST['Address']); $State = ($_POST['State']); $Post = ($_POST['Postal_Code']); $Phone = ($_POST['Phone']); $Email = ($_POST['EMail']); $Certor = ($_POST['Cert_Org']); $Certl = ($_POST['Cert_Level_ID']); $Certd = ($_POST['Cert_Date']); $Emergn = ($_POST['Emerg_Contact_Name']); $Emergp = ($_POST['Emerg_Contact_Phone']); //Set the variables for the database access: $Host = localhost; $User = root; $Password = ; $Link = mysql_connect($Host, $User, $Password) or die(Could not connect: . mysql_error()); mysql_select_db('dive_store') or die(could not select database); $sql = mysql_query(INSERT INTO test_scores VALUES (NULL, '$Store', '$Users', '$Pass', '$Addr', '$State', '$Post', '$Phone', '$Email', '$Certor', '$Certd', '$Certl', '$Emergn', '$Emergp')) or die('Error: Unable to execute insertion query.'); $Result = mysql_query($sql)or die(mysql_error()); if ($Result){ echo(Table Created successfully); }else{ echo(error when creating table); } mysql_close($Link); ? /BODY /HEAD /HTML
RE: [PHP-DB] Undefined Index error when trying to insert data from a form into a db
Chris, It appears that the indices called out in the lines of error code are not being transferred from the Insert_Table_Form.html page and that is causing the query to ultimately fail. Almost self-explanatory due to PHP's good error reporting. First make certain that the names of the form controls on the INsert_Table_Form.html page match up exactly with the names in your code on lines 9 through 21. Secondly, make sure each of the controls has a value when you attempt to post the data from Insert_Table_Form.html. Some form controls will not appear in the $_POST['indices'] array if they do not contain a value and when you try to reference those empty controls, they cause problems because they were never posted. Hope this helps. Rich -Original Message- From: Christopher McCourt [mailto:[EMAIL PROTECTED] Sent: Thursday, June 26, 2003 12:54 PM To: PHP Lists Subject: [PHP-DB] Undefined Index error when trying to insert data from a form into a db Hello to all: I am getting the following error message when trying to insert data from an html form into a MYSQL database that I recently created. Can someone take a look at the errors and corresponding code and suggest some alternatives? Thank you very much in advance for your assistance. Regards, Chris McCourt ++ ++ Error Message: Notice: Undefined index: Store_ID in c:\program files\apache group\apache\htdocs\insertdata.php on line 9 Notice: Undefined index: Postal_Code in c:\program files\apache group\apache\htdocs\insertdata.php on line 14 Notice: Undefined index: Cert_Org in c:\program files\apache group\apache\htdocs\insertdata.php on line 17 Notice: Undefined index: Cert_Level_ID in c:\program files\apache group\apache\htdocs\insertdata.php on line 18 Notice: Undefined index: Cert_Date in c:\program files\apache group\apache\htdocs\insertdata.php on line 19 Notice: Undefined index: Emerg_Contact_Name in c:\program files\apache group\apache\htdocs\insertdata.php on line 20 Notice: Undefined index: Emerg_Contact_Phone in c:\program files\apache group\apache\htdocs\insertdata.php on line 21 Error: Unable to execute insertion query. +++ Original PHP Code: HTML HEAD TITLE Inserting Data Into a Database/TITLE BODY ?php /* This page receives and handles the data generated by the form Insert_Table_Form.html*/ $Store = ($_POST['Store_ID']); $Users = ($_POST['User_Name']); $Pass = ($_POST['Password']); $Addr = ($_POST['Address']); $State = ($_POST['State']); $Post = ($_POST['Postal_Code']); $Phone = ($_POST['Phone']); $Email = ($_POST['EMail']); $Certor = ($_POST['Cert_Org']); $Certl = ($_POST['Cert_Level_ID']); $Certd = ($_POST['Cert_Date']); $Emergn = ($_POST['Emerg_Contact_Name']); $Emergp = ($_POST['Emerg_Contact_Phone']); //Set the variables for the database access: $Host = localhost; $User = root; $Password = ; $Link = mysql_connect($Host, $User, $Password) or die(Could not connect: . mysql_error()); mysql_select_db('dive_store') or die(could not select database); $sql = mysql_query(INSERT INTO test_scores VALUES (NULL, '$Store', '$Users', '$Pass', '$Addr', '$State', '$Post', '$Phone', '$Email', '$Certor', '$Certd', '$Certl', '$Emergn', '$Emergp')) or die('Error: Unable to execute insertion query.'); $Result = mysql_query($sql)or die(mysql_error()); if ($Result){ echo(Table Created successfully); }else{ echo(error when creating table); } mysql_close($Link); ? /BODY /HEAD /HTML -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DB] Undefined Index error when trying to insert data from a form into a db
1. Check the manual on use of $_POST and notch down your error reporting level. As these vars have not been defined PHP is throwing an error. 2. While you are at it, and assuming that your variables are all received correctly, why not simplify your sql? insert into test_scores set field_one = '$field_one', field_two = ''$field_two ... and so forth. It makes debugging INFINITELY easier and gives you more control. 3. Not related to your question at all, what's the type of your first field? Does it allow NULL's? If so then default it to NULL. (Something tugging at the back of my mind says that a NULL should not be assignable, but that's another issue.) HTH - Mlies Thompson At 12:53 PM 6/26/2003 -0400, Christopher McCourt wrote: Hello to all: I am getting the following error message when trying to insert data from an html form into a MYSQL database that I recently created. Can someone take a look at the errors and corresponding code and suggest some alternatives? Thank you very much in advance for your assistance. Regards, Chris McCourt Error Message: Notice: Undefined index: Store_ID in c:\program files\apache group\apache\htdocs\insertdata.php on line 9 Notice: Undefined index: Postal_Code in c:\program files\apache group\apache\htdocs\insertdata.php on line 14 Notice: Undefined index: Cert_Org in c:\program files\apache group\apache\htdocs\insertdata.php on line 17 Notice: Undefined index: Cert_Level_ID in c:\program files\apache group\apache\htdocs\insertdata.php on line 18 Notice: Undefined index: Cert_Date in c:\program files\apache group\apache\htdocs\insertdata.php on line 19 Notice: Undefined index: Emerg_Contact_Name in c:\program files\apache group\apache\htdocs\insertdata.php on line 20 Notice: Undefined index: Emerg_Contact_Phone in c:\program files\apache group\apache\htdocs\insertdata.php on line 21 Error: Unable to execute insertion query. +++ Original PHP Code: ?php /* This page receives and handles the data generated by the form Insert_Table_Form.html*/ $Store = ($_POST['Store_ID']); $Users = ($_POST['User_Name']); $Pass = ($_POST['Password']); $Addr = ($_POST['Address']); $State = ($_POST['State']); $Post = ($_POST['Postal_Code']); $Phone = ($_POST['Phone']); $Email = ($_POST['EMail']); $Certor = ($_POST['Cert_Org']); $Certl = ($_POST['Cert_Level_ID']); $Certd = ($_POST['Cert_Date']); $Emergn = ($_POST['Emerg_Contact_Name']); $Emergp = ($_POST['Emerg_Contact_Phone']); //Set the variables for the database access: $Host = localhost; $User = root; $Password = ; $Link = mysql_connect($Host, $User, $Password) or die(Could not connect: . mysql_error()); mysql_select_db('dive_store') or die(could not select database); $sql = mysql_query(INSERT INTO test_scores VALUES (NULL, '$Store', '$Users', '$Pass', '$Addr', '$State', '$Post', '$Phone', '$Email', '$Certor', '$Certd', '$Certl', '$Emergn', '$Emergp')) or die('Error: Unable to execute insertion query.'); $Result = mysql_query($sql)or die(mysql_error()); if ($Result){ echo(Table Created successfully); }else{ echo(error when creating table); } mysql_close($Link); ? -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php