par
sirakawa » 06 avr. 2012, 18:16
Bonjour à tous, j'essaie d'enregistrer les données issue d'un array dans mysql mais en vain j'ai une quantité non négligeable de message d'erreur.
foreach ( (array) $_POST['contact'] as $contact => $contact )
{
$query = "INSERT INTO gestionnaire_client VALUES (code_client, civilite, nom, prenom, qualite, tel, fax, gsm, e_mail, login, pass_md5),";
$query .= "contact[code_client], $contact[$civilite], $contact[$nom], $contact[$prenom], $contact[$qualite], $contact[$tel], $contact[$fax], $contact[$gsm], $contact[$e_mail], $contact[$login], $contact[$pass_md5], ";
Je ne sais pas si c'est la bonne structure.
Par avance merci.
On suppose que tu connais les noms des colonnes de ta table gestionnaire_clients.
1) vérifier que, avant le foreach, $_POST['contact'] contient ce que l'on croit print_r($_POST['contact']);.
Si ce n'est pas le cas, inutile d'aller plus loin.
2) Si $_POST['contact'] est correct, on allègerait par:
$t_contact = $_POST['contact']; avant le foreach;
3) Le foreach est étrangement fichu:
foreach ($t_contact as $contact)
{
extract ($contact);
et on a une série de variables qu'on peut mettre dans le quary SANS concaténation
mais la syntaxe de INSERT telle que c'est écrit, est fausse. cf
http://dev.mysql.com/doc/refman/5.0/fr/insert.html
}
}
[quote="piotrowski-s"]Bonjour à tous, j'essaie d'enregistrer les données issue d'un array dans mysql mais en vain j'ai une quantité non négligeable de message d'erreur. [php]foreach ( (array) $_POST['contact'] as $contact => $contact )
{
$query = "INSERT INTO gestionnaire_client VALUES (code_client, civilite, nom, prenom, qualite, tel, fax, gsm, e_mail, login, pass_md5),";
$query .= "contact[code_client], $contact[$civilite], $contact[$nom], $contact[$prenom], $contact[$qualite], $contact[$tel], $contact[$fax], $contact[$gsm], $contact[$e_mail], $contact[$login], $contact[$pass_md5], ";[/php]
Je ne sais pas si c'est la bonne structure.
Par avance merci.[/quote]
On suppose que tu connais les noms des colonnes de ta table gestionnaire_clients.
1) vérifier que, avant le foreach, $_POST['contact'] contient ce que l'on croit print_r($_POST['contact']);.
Si ce n'est pas le cas, inutile d'aller plus loin.
2) Si $_POST['contact'] est correct, on allègerait par:
$t_contact = $_POST['contact']; avant le foreach;
3) Le foreach est étrangement fichu:
foreach ($t_contact as $contact)
{
extract ($contact);
et on a une série de variables qu'on peut mettre dans le quary SANS concaténation
mais la syntaxe de INSERT telle que c'est écrit, est fausse. cf http://dev.mysql.com/doc/refman/5.0/fr/insert.html
}
}