It looks like you should get some mysql errors:
$dbh->query("INSERT INTO disability_listing.listing
(id, state_key, state_county_key, org_type, org_name, contact_name, address, phone, website, start_date, end_date, enabled) VALUES
(NULL, '$state_value', '$county_key', '$org_type_values', '$org_name_value', '$address_value', '$city_value', '$state_value', '$zip_code_value', '$phone_value', '$web_address_value', '$start_date_value', '$end_date_value', '$enabled_value')");
since your value list contains more items than your field list.
Personally I always use the PDO help functions to avoid these types of errors. A little bit more clumsy but a few more rows in the file is maybe not an issue depending on load.
/* Set up all table fields
* $myPDOList -> field name
* $myPDOMark -> PDO prepare marker name (must be unique for each prepare statement)
* $PDOValue -> Corresponding value to put into this field
*/
$myPDOList[] = "state_key";
$myPDOMark[] = ":state";
$PDOValue[] = $state_value;
$myPDOList[] = "state_county_key";
$myPDOMark[] = ":county";
$PDOValue[] = $county_key;
$myPDOList[] = "org_type";
$myPDOMark[] = ":orgT";
$PDOValue[] = $org_type_values;
$myPDOList[] = "org_name";
$myPDOMark[] = ":orgN";
$PDOValue[] = $org_name_value;
/* Note, missing php variable
$myPDOList[] = "contact_name";
$myPDOMark[] = ":cont";
$PDOValue[] = ;
*/
$myPDOList[] = "phone";
$myPDOMark[] = ":phone";
$PDOValue[] = $phone_value;
$myPDOList[] = "website";
$myPDOMark[] = ":web";
$PDOValue[] = $web_address_value;
$myPDOList[] = "start_date";
$myPDOMark[] = ":startD";
$PDOValue[] = $start_date_value;
$myPDOList[] = "end_date";
$myPDOMark[] = ":endD";
$PDOValue[] = $end_date_value;
$myPDOList[] = "enabled";
$myPDOMark[] = ":enabled";
$PDOValue[] = $enabled_value;
/* Note, missing field names
$myPDOList[] = "????";
$myPDOMark[] = ":???";
$PDOValue[] = $address_value;
$myPDOList[] = "????";
$myPDOMark[] = ":???";
$PDOValue[] = $city_value;
$myPDOList[] = "????";
$myPDOMark[] = ":???";
$PDOValue[] = $zip_code_value;
*/
/* Build sql part strings */
$listDelim = ", ";
$markDelim = ", ";
for($mark=0; $mark<count($myPDOMark); $mark++)
{
$myPDOListStr .= $myPDOList[$mark] . $listDelim;
$myPDOMarkStr .= $myPDOMark[$mark] . $markDelim;
}
/* strip last delimiter */
$myPDOListStr = substr($myPDOListStr, 0, strlen($myPDOListStr)-strlen($listDelim));
$myPDOMarkStr = substr($myPDOMarkStr, 0, strlen($myPDOMarkStr)-strlen($markDelim));
/* create sql string */
$sqlPDO = "INSERT INTO disability_listing.listing (id, ". $myPDOListStr . ") VALUES (NULL, " . $myPDOMarkStr . ")";
/* execute the prepare statement */
$stmt = $dbh->prepare($sqlPDO);
/* bind each parameter */
for($mark=0; $mark<count($myPDOMark); $mark++)
{
$stmt->bindParam($myPDOMark[$mark], $PDOValue[$mark]);
}
/* perform query */
$stmt->execute();
/* close connection */
$dbh = NULL;
Be prepared if testing this. I have not made any tests on my server expect checking that the string creation works out.