Jump to content


Photo

Column count doesn't match value count at row 1


  • Please log in to reply
1 reply to this topic

#1 cturner

cturner
  • Members
  • PipPipPip
  • Advanced Member
  • 148 posts
  • LocationMy computer

Posted 27 October 2006 - 02:21 AM

I am getting the following error when I test the code that is below:
Could not add the entry because: Column count doesn't match value count at row 1. The query was INSERT INTO `tbl_product` (`id`, `category`, `productname`, `description`, `bullet1`, `bullet2`, `bullet3`, `bullet4`, `bullet5`, `bullet6`, `extrainfo1`, `packsize1`, `packsize2`, `price1`, `colour1`, `colour2`, `colour3`, `colour4`, `colour5`, `icon1`, `icon2`, `icon3`, `icon4`, `extrainfo2`, `mainphoto`, `imagefile1`, `imagefile2`, `imagefile3`, `imagefile4`, `nameprint`, `address`) VALUES ('0', '', 'Vinyl Stickers', 'This (and the Magic-Iron on label) are THE basic items of your back to school pack. Try to do without them and you risk loosing your brand new kit, or worse still your child coming home with someone elses mankey old shoes. Don’t say you haven’t been warned!', '', '', '', '', 'bullet5', '', '', '50 labels', '100 labels', 'AU$20.00', 'AU$33.00', 'red', 'green', 'pink', 'orange', 'blue', 'heart', 'train', 'flower', 'football', '', '', '', '', '', '', '', '').
I am trying to add data to a database. Can someone please tell me why I am getting that error and how I can fix it? Thanks in advance.
require "config.php";
// the add button
if (isset($_POST['add'])) {
	$arrErrors = array();
	// get information in the text boxes
	$selectCategory = mysql_real_escape_string($_POST['selectCategory']);
	$productname = mysql_real_escape_string($_POST['productname']);
	$description = mysql_real_escape_string($_POST['description']);
	$bullet1 = mysql_real_escape_string($_POST['bullet1']);
	$bullet2 = mysql_real_escape_string($_POST['bullet2']);
	$bullet3 = mysql_real_escape_string($_POST['bullet3']);
	$bullet4 = mysql_real_escape_string($_POST['bullet4']);
	$bullet5 = mysql_real_escape_string($_POST['bullet5']);
	$bullet6 = mysql_real_escape_string($_POST['bullet6']);
	$extrainfo1 = mysql_real_escape_string($_POST['extrainfo1']);
	$packsize1 = mysql_real_escape_string($_POST['packsize1']);
	$packsize2 = mysql_real_escape_string($_POST['packsize2']);
	$price1 = mysql_real_escape_string($_POST['price1']);
	$price2 = mysql_real_escape_string($_POST['price2']);
	$colour1 = mysql_real_escape_string($_POST['colour1']);
	$colour2 = mysql_real_escape_string($_POST['colour2']);
	$colour3 = mysql_real_escape_string($_POST['colour3']);
	$colour4 = mysql_real_escape_string($_POST['colour4']);
	$colour5 = mysql_real_escape_string($_POST['colour5']);
	$icon1 = mysql_real_escape_string($_POST['icon1']);
	$icon2 = mysql_real_escape_string($_POST['icon2']);
	$icon3 = mysql_real_escape_string($_POST['icon3']);
	$icon4 = mysql_real_escape_string($_POST['icon4']);
	$extrainfo2 = mysql_real_escape_string($_POST['extrainfo2']);
	$mainphoto = mysql_real_escape_string($_POST['mainphoto']);
	$imagefile1 = mysql_real_escape_string($_POST['imagefile1']);
	$nameprint = mysql_real_escape_string($_POST['nameprint']);
	$address = mysql_real_escape_string($_POST['address']);
	
	if ($_POST ['selectCategory'] == 'none') {
		$arrErrors['selectCategory'] = 'Please select a category name.';
	}
	if ($_POST ['productname'] == '') {
		$arrErrors['productname'] = 'Please enter a product name.';
	}
	if ($_POST ['description'] == '') {
		$arrErrors['description'] = 'Please enter a description for the product.';
	}
	if ($_POST ['price1'] == '') {
		$arrErrors['price1'] = 'Please enter a price for the product.';
	}
	// validate the main photo field
	
	
	// check to see if the product exists
	$sql = mysql_query("SELECT * FROM `tbl_product` WHERE `productname`='$productname'");

	$check = mysql_num_rows($sql);

	if ($check != 0) {
		$arrErrors['productname'] = 'The product already exists.';		
	}
	
	if (count($arrErrors) == 0) {
		$result = "INSERT INTO `tbl_product` (`id`, `category`, `productname`, `description`, `bullet1`, `bullet2`, `bullet3`, `bullet4`, `bullet5`, `bullet6`, `extrainfo1`, `packsize1`, `packsize2`, `price1`, `colour1`, `colour2`, `colour3`, `colour4`, `colour5`, `icon1`, `icon2`, `icon3`, `icon4`, `extrainfo2`, `mainphoto`, `imagefile1`, `imagefile2`, `imagefile3`, `imagefile4`, `nameprint`, `address`) VALUES ('0', '$category', '$productname', '$description', '$bullet1', '$bullet2', '$bullet3', '$bullet4', 'bullet5', '$bullet6', '$extrainfo1', '$packsize1', '$packsize2', '$price1', '$price2', '$colour1', '$colour2', '$colour3', '$colour4', '$colour5', '$icon1', '$icon2', '$icon3', '$icon4', '$extrainfo2', '$mainphoto', '$imagefile1', '$imagefile2', '$imagefile3', '$imagefile4', '$nameprint', '$address')";
		if (mysql_query($result)) {
			header ('Location: product_added.php');
		} else {
			print "<p>Could not add the entry because: <b>" . mysql_error() . "</b>. The query was $result.</p>";
		}
	} else {
		// The error array had something in it. There was an error.
        // Start adding error text to an error string.
        $strError = '<div class="formerror"><p>Please check the following and try again:</p><ul>';
        // Get each error and add it to the error string
        // as a list item.
        foreach ($arrErrors as $error) {
            $strError .= "<li>$error</li>";
        }
        $strError .= '</ul></div>';
	}
}


#2 btherl

btherl
  • Staff Alumni
  • Advanced Member
  • 3,893 posts
  • LocationAustralia

Posted 27 October 2006 - 02:25 AM

You have specified 31 column names and 32 values to put into them.  Either you missed a column or you added an extra value.  The error message just means that the number of column names and number of values don't match.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users