Column count doesn't match value count at row 1

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • whitey
    New Member
    • Sep 2007
    • 17

    Column count doesn't match value count at row 1

    this code is producing the message BUT it is entering the data. What should i do?

    Code:
    <?php
    if (!$_POST) {
    	//haven't seen the form, so show it
    	$display_block = "
    	<form method=\"post\" action=\"".$_SERVER["PHP_SELF"]."\">
    	<p><strong>First/Last Names:</strong><br/>
    	<input type=\"text\" name=\"f_name\" size=\"30\" maxlength=\"75\">
    	<input type=\"text\" name=\"l_name\" size=\"30\" maxlength=\"75\"></p>
    
    	<p><strong>Address:</strong><br/>
    	<input type=\"text\" name=\"address\" size=\"30\"></p>
    
    	<p><strong>City/State/Zip:</strong><br/>
    	<input type=\"text\" name=\"city\" size=\"30\" maxlength=\"50\">
    	<input type=\"text\" name=\"state\" size=\"5\" maxlength=\"2\">
    	<input type=\"text\" name=\"zipcode\" size=\"10\" maxlength=\"10\"></p>
    
    	<p><strong>Address Type:</strong><br/>
    	<input type=\"radio\" name=\"add_type\" value=\"home\" checked> home
    	<input type=\"radio\" name=\"add_type\" value=\"work\"> work
    	<input type=\"radio\" name=\"add_type\" value=\"other\"> other</p>
    
    	<p><strong>Telephone Number:</strong><br/>
    	<input type=\"text\" name=\"tel_number\" size=\"30\" maxlength=\"25\">
    	<input type=\"radio\" name=\"tel_type\" value=\"home\" checked> home
    	<input type=\"radio\" name=\"tel_type\" value=\"work\"> work
    	<input type=\"radio\" name=\"tel_type\" value=\"other\"> other</p>
    
    	<p><strong>Fax Number:</strong><br/>
    	<input type=\"text\" name=\"fax_number\" size=\"30\" maxlength=\"25\">
    	<input type=\"radio\" name=\"fax_type\" value=\"home\" checked> home
    	<input type=\"radio\" name=\"fax_type\" value=\"work\"> work
    	<input type=\"radio\" name=\"fax_type\" value=\"other\"> other</p>
    
    	<p><strong>Email Address:</strong><br/>
    	<input type=\"text\" name=\"email\" size=\"30\" maxlength=\"150\">
    	<input type=\"radio\" name=\"email_type\" value=\"home\" checked> home
    	<input type=\"radio\" name=\"email_type\" value=\"work\"> work
    	<input type=\"radio\" name=\"email_type\" value=\"other\"> other</p>
    
    	<p><strong>Personal Note:</strong><br/>
    	<textarea name=\"note\" cols=\"35\" rows=\"3\" wrap=\"virtual\"></textarea></p>
    
    	<p><input type=\"submit\" name=\"submit\" value=\"Add Entry\"></p>
    	</form>";
    
    } else if ($_POST) {
    	//time to add to tables, so check for required fields
    	if (($_POST["f_name"] == "") || ($_POST["l_name"] == "")) {
    		header("Location: addentry.php");
    		exit;
    	}
    
    	//connect to database
    	$mysqli = mysqli_connect("localhost", "web86-geothermal", "pw002f1945", "web86-geothermal");
    
    	//add to master_name table
    	$add_master_sql = "INSERT INTO tbl_master_name (master_id, date_added, date_modified, f_name, l_name)
                           VALUES ('', now(), now(), '".$_POST["f_name"]."', '".$_POST["l_name"]."')";
    	$add_master_res = mysqli_query($mysqli, $add_master_sql) or die(mysqli_error($mysqli));
    
    	//get master_id for use with other tables
    	$master_id = mysqli_insert_id($mysqli);
    
    	if (($_POST["address"]) || ($_POST["city"]) || ($_POST["state"]) || ($_POST["zipcode"])) {
    		//something relevant, so add to address table
    		$add_address_sql = "INSERT INTO tbl_address (master_id, date_added, date_modified,
    		                    address1, address2, city, state, zipcode, type)  VALUES ('".$master_id."',
    		                    now(), now(), '".$_POST["address"]."', '".$_POST["city"]."',
    		                    '".$_POST["state"]."' , '".$_POST["zipcode"]."' , '".$_POST["add_type"]."')";
    		$add_address_res = mysqli_query($mysqli, $add_address_sql) or die(mysqli_error($mysqli));
    	}
    
    	if ($_POST["tel_number"]) {
    		//something relevant, so add to telephone table
    		$add_tel_sql = "INSERT INTO tbl_telephone (master_id, date_added, date_modified,
    		                tel_number, type)  VALUES ('".$master_id."', now(), now(),
    		                '".$_POST["tel_number"]."', '".$_POST["tel_type"]."')";
    		$add_tel_res = mysqli_query($mysqli, $add_tel_sql) or die(mysqli_error($mysqli));
    	}
    
    	if ($_POST["fax_number"]) {
    		//something relevant, so add to fax table
    		$add_fax_sql = "INSERT INTO tbl_fax (master_id, date_added, date_modified,
    		                fax_number, type)  VALUES ('".$master_id."', now(), now(),
    		                '".$_POST["fax_number"]."', '".$_POST["fax_type"]."')";
    		$add_fax_res = mysqli_query($mysqli, $add_fax_sql) or die(mysqli_error($mysqli));
    	}
    
    	if ($_POST["email"]) {
    		//something relevant, so add to email table
    		$add_email_sql = "INSERT INTO tbl_email (master_id, date_added, date_modified,
    		                  email, type)  VALUES ('".$master_id."', now(), now(),
    		                  '".$_POST["email"]."', '".$_POST["email_type"]."')";
    		$add_email_res = mysqli_query($mysqli, $add_email_sql) or die(mysqli_error($mysqli));
    	}
    
    	if ($_POST["note"]) {
    		//something relevant, so add to notes table
    		$add_notes_sql = "INSERT INTO tbl_personal_notes (master_id, date_added, date_modified,
    		                  note)  VALUES ('".$master_id."', now(), now(), '".$_POST["note"]."')";
    		$add_notes_res = mysqli_query($mysqli, $add_notes_sql) or die(mysqli_error($mysqli));
    	}
    	mysqli_close($mysqli);
    	$display_block = "<p>Your entry has been added.  Would you like to <a href=\"addentry.php\">add another</a>?</p>";
    }
    ?>
    <html>
    <head>
    <title>Add an Entry</title>
    </head>
    <body>
    <h1>Add an Entry</h1>
    <?php echo $display_block; ?>
    </body>
    </html>
  • harshmaul
    Recognized Expert Contributor
    • Jul 2007
    • 490

    #2
    Hi,
    when your inserting address it looks like you missed out a value...

    remember the insert syntax is....

    Code:
    insert into tblName (column1, column2) values ("column1","column2")
    you've got something like this...

    Code:
    insert into tblName (column1, column2) values ("column1")
    Where you've missed one of the columns.

    let me know how you get on.

    Comment

    • whitey
      New Member
      • Sep 2007
      • 17

      #3
      aha, found it.

      So the message actually means that your mysql column count doesnt match the number of values it has to insert into db

      Comment

      • harshmaul
        Recognized Expert Contributor
        • Jul 2007
        • 490

        #4
        yea, it could be insert, or update, i think even select if you make up the name for a column ;)

        glad you solved it :)

        Comment

        Working...