This should work! heh… We were sending in an array with keys => values. the DB class is expecting an array with the values only (in the same order as the question marks in the query).
[php]<?php
ini_set(‘error_reporting’, E_ALL);
ini_set(‘display_errors’, ‘1’);
include (‘config.php’);
require_once (‘db.php’);
$db = new db();
//This gets all the other information from the form and adds them to an array
$data = array();
$data[] = !empty($_POST[‘company’]) ? $_POST[‘company’] : ‘’;
$data[] = !empty($_POST[‘phone’]) ? $_POST[‘phone’] : ‘’;
$data[] = !empty($_POST[‘website’]) ? $_POST[‘website’] : ‘’;
$data[] = !empty($_POST[‘messagefr’]) ? $_POST[‘messagefr’] : ‘’;
$data[] = !empty($_POST[‘messageen’]) ? $_POST[‘messageen’] : ‘’;
$data[] = !empty($_POST[‘categories’]) ? $_POST[‘categories’] : ‘’;
$data[] = !empty($_POST[‘profession’]) ? $_POST[‘profession’] : ‘’;
$data[] = !empty($_POST[‘manufacturiers_stand’]) ? $_POST[‘manufacturiers_stand’] : ‘’;
$data[] = !empty($_POST[‘percent_quebec’]) ? $_POST[‘percent_quebec’] : ‘’;
$data[] = !empty($_POST[‘percent_canada’]) ? $_POST[‘percent_canada’] : ‘’;
$data[] = !empty($_POST[‘percent_usa’]) ? $_POST[‘percent_usa’] : ‘’;
$data[] = !empty($_POST[‘percent_autre’]) ? $_POST[‘percent_autre’] : ‘’;
$data[] = !empty($_POST[‘bt_export’]) ? $_POST[‘bt_export’] : ‘’;
$data[] = !empty($_POST[‘bt_exporte_souhaite’]) ? $_POST[‘bt_exporte_souhaite’] : ‘’;
$data[] = !empty($_POST[‘bt_prod_verts’]) ? $_POST[‘bt_prod_verts’] : ‘’;
$data[] = !empty($_POST[‘bt_new_prod’]) ? $_POST[‘bt_new_prod’] : ‘’;
$data[] = !empty($_POST[‘name’]) ? $_POST[‘name’] : ‘’;
$data[] = !empty($_POST[‘email’]) ? $_POST[‘email’] : ‘’;
$data[] = !empty($_POST[‘resource_phone’]) ? $_POST[‘resource_phone’] : ‘’;
$data[] = !empty($_POST[‘personne_ressource’]) ? $_POST[‘personne_ressource’] : ‘’;
$data[] = !empty($_POST[‘backup_name’]) ? $_POST[‘backup_name’] : ‘’;
$data[] = !empty($_POST[‘backup_email’]) ? $_POST[‘backup_email’] : ‘’;
$data[] = !empty($_POST[‘backup_phone’]) ? $_POST[‘backup_phone’] : ‘’;
// run db query and enter the entire data array at once. Note that you could/should
// write a function that automatically generates the ?,?,? string based on the parameters (count($array))
$result = $db->query("INSERT INTO form_corpo_test (compagnie,
telephone,
site_web,
texte_fr,
texte_en,
categories,
profil_exposant,
stands_du_manufacturier,
pourcentage_quebec,
pourcentage_canada,
pourcentage_usa,
pourcentage_autre,
exporte,
exporte_souhaite,
produits_vert,
nouveau_produits,
nom,
courriel,
telephone_ressource,
personne_ressource_c_toi,
autre_personne_ressource,
autre_courriel,
autre_telephone)
VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)",
$data);
if (!$result) {
echo ‘aww, something bad happened, it should have been catched by the try/catch inside the DB class…’;
}
// … the rest of your code[/php]
If we were using named placeholders (’:compagnie’) we should’ve sent in both key (named placeholder) and value…