A voir également:
- Sql : choix multiple vers un seul champ
- Logiciel sql - Télécharger - Bases de données
- Sql replace plusieurs valeurs - Forum Programmation
- Requete sql pix - Forum PHP
- Ora-00933: la commande sql ne se termine pas correctement ✓ - Forum Oracle
- Requête sql date supérieure à ✓ - Forum Programmation
5 réponses
Mimiste
Messages postés
1149
Date d'inscription
samedi 17 mai 2008
Statut
Membre
Dernière intervention
6 mars 2016
206
20 mai 2008 à 10:48
20 mai 2008 à 10:48
Je comprend pas trop ce que tu veux dire par
- soit une table sql comportant une rubrique "civilites" unique
Ce serai pas plutot une base SQL comportant une table "civilites" ?
Unique ?
- soit une table sql comportant une rubrique "civilites" unique
Ce serai pas plutot une base SQL comportant une table "civilites" ?
Unique ?
$sql = "INSERT INTO <tatable> (civilites) VALUES (".$_POST['civilites']".")";
Voici en gros le type de requete même si je comprend pas bien à quoi ca te servirai, il faudra dans tout les cas remplir des autres champs ^^. Si c'est juste le champ que tu veux mettre à jour utilise plutot UPDATE :)
Voilà en esperant t'avoir donné un coup de main ;)
Voici en gros le type de requete même si je comprend pas bien à quoi ca te servirai, il faudra dans tout les cas remplir des autres champs ^^. Si c'est juste le champ que tu veux mettre à jour utilise plutot UPDATE :)
Voilà en esperant t'avoir donné un coup de main ;)
Voilà la syntaxe de l'instruction d'insertion :
$sql = "INSERT INTO agents.inscription VALUES (
'".$titreformulaire."',
'".$civilites."',
'".$prenom."',
'".$nom."',
'".$adresse."',
'".$suiteadresse."',
'".$codepostal."',
'".$ville."',
'".$telfixe."',
'".$gsm."',
'".$adressemail."',
'".$secusociale."',
'".datenaissance."',
'".villenaissance."',
'".departnaissance."',
now())";
Mais j'ai une erreur "Column count doesn't match value count at row 1", et je pense que ça vient du fait que le groupe de boutons-radio du formulaire est identifié comme 3 champs distincts, alors qu'avec l'instruction "insert into", "civilites" ne représente qu'un champ dans la table !
$sql = "INSERT INTO agents.inscription VALUES (
'".$titreformulaire."',
'".$civilites."',
'".$prenom."',
'".$nom."',
'".$adresse."',
'".$suiteadresse."',
'".$codepostal."',
'".$ville."',
'".$telfixe."',
'".$gsm."',
'".$adressemail."',
'".$secusociale."',
'".datenaissance."',
'".villenaissance."',
'".departnaissance."',
now())";
Mais j'ai une erreur "Column count doesn't match value count at row 1", et je pense que ça vient du fait que le groupe de boutons-radio du formulaire est identifié comme 3 champs distincts, alors qu'avec l'instruction "insert into", "civilites" ne représente qu'un champ dans la table !
Fait un echo de $civilites, personnelement je n'ai jamais eu de probleme avec les boutons radios, qui ont justement l'interet de ne ramene qu'un champ.
Fait une recherche internet pour ce type d'erreur, j'ai regardé rapidement et ca peut-être causé par des champs manquants dans ta requete (d'où l'interet de specifier les champs dans lesquels tu va insérer tes valeurs), ou bien pour une personne par une absence de mot de passe / login pour la connexion. Sinon est tu sur que now() dans les double quotes marche? Sinon essaye d'afficher ta requete sql tu y verra peut-être le champ manquant :)
Fait une recherche internet pour ce type d'erreur, j'ai regardé rapidement et ca peut-être causé par des champs manquants dans ta requete (d'où l'interet de specifier les champs dans lesquels tu va insérer tes valeurs), ou bien pour une personne par une absence de mot de passe / login pour la connexion. Sinon est tu sur que now() dans les double quotes marche? Sinon essaye d'afficher ta requete sql tu y verra peut-être le champ manquant :)
Désolé ne pouvant éditer je met ca à la suite, il te manque les $ devant 3 variables,
datenaissance
villenaissance
departnaissance
Ensuite d'après NotePad++, le now() ne passe pas dans des guillemets(c'est une fonction), je te conseille donc la concaténation.
Un truc dans le genre :
$sql = "INSERT INTO agents.inscription VALUES (
'".$titreformulaire."',
'".$civilites."',
'".$prenom."',
'".$nom."',
'".$adresse."',
'".$suiteadresse."',
'".$codepostal."',
'".$ville."',
'".$telfixe."',
'".$gsm."',
'".$adressemail."',
'".$secusociale."',
'".$datenaissance."',
'".$villenaissance."',
'".$departnaissance."',
".now().")";
datenaissance
villenaissance
departnaissance
Ensuite d'après NotePad++, le now() ne passe pas dans des guillemets(c'est une fonction), je te conseille donc la concaténation.
Un truc dans le genre :
$sql = "INSERT INTO agents.inscription VALUES (
'".$titreformulaire."',
'".$civilites."',
'".$prenom."',
'".$nom."',
'".$adresse."',
'".$suiteadresse."',
'".$codepostal."',
'".$ville."',
'".$telfixe."',
'".$gsm."',
'".$adressemail."',
'".$secusociale."',
'".$datenaissance."',
'".$villenaissance."',
'".$departnaissance."',
".now().")";
Bon, on progresse !
J'ai mis les $ où ils manquaient, et ré-écrit la dernière ligne avec le "now" comme indiqué dans ta correction.
Et maintenant... "Fatal error: Call to undefined function now() in /cosmaforms/traitinscragent.php on line 78", la ligne 78 étant justement celle du "now" !!!
Rhâââââ...
J'ai mis les $ où ils manquaient, et ré-écrit la dernière ligne avec le "now" comme indiqué dans ta correction.
Et maintenant... "Fatal error: Call to undefined function now() in /cosmaforms/traitinscragent.php on line 78", la ligne 78 étant justement celle du "now" !!!
Rhâââââ...
jisisv
Messages postés
3645
Date d'inscription
dimanche 18 mars 2001
Statut
Modérateur
Dernière intervention
15 janvier 2017
934
20 mai 2008 à 13:28
20 mai 2008 à 13:28
Je ne vois pas l'utilité de stocquer la civilité sous forme de chaine. Celà prend de la place inutile et n'est pas efficace lors du traitement. Il vaut mieux stocker cette donnée en entier
...
create table agents.inscription (... , civilite int,...)
Quoi de plus simple que d'effectuer une jointure avec une table de civilités (en supportant éventuellement plusieurs langues....)
<form action="hello.php" method="post"> Mademoiselle<input type="radio" name="civilites" value="0" /><br /> Madame<input type="radio" name="civilites" value="1" /><br /> Monsieur<input type="radio" name="civilites" value="2" /><br /> <input type="submit" value="Submit"> </form> [johand@horus]~/public_html/radio $cat hello.php <?php print("<html><body>"); print_r($_POST); print("</body></html>") ?>
...
create table agents.inscription (... , civilite int,...)
Quoi de plus simple que d'effectuer une jointure avec une table de civilités (en supportant éventuellement plusieurs langues....)
C'est décidément plein de surprises, tout ça !
J'ai l'impression que chacun utilise sa propre syntaxe, ce qui m'étonne pour un code censé être universel !?!
Bon, j'en suis là : message "Impossible de se connecter".
Le code de connexion :
// Parametres mysql
define('DB_SERVER', 'localhost'); // serveur mysql - sans autre indication de mon hébergeur, je laisse "localhost"
define('DB_SERVER_USERNAME', 'campusliber'); // nom d'utilisateur - vérifié, OK
define('DB_SERVER_PASSWORD', '123456'); // mot de passe - vérifié, OK
define('DB_DATABASE', 'agents.inscription'); // nom de la base - là, j'ai un petit souci de compréhension : le nom de la base est "agents", mais le nom de la table est "inscription". Ça ne fonctionnait pas du tout quand j'indiquais seulement le nom de la base, j'ai donc rajouté le nom de la table, avec un point entre les deux...
// Connexion au serveur mysql
mysql_connect ($DB_SERVER, $DB_SERVER_USERNAME, $DB_SERVER_PASSWORD) or die("Impossible de se connecter ") ;
// sélection de la base de données
mysql_select_db(DB_DATABASE, $connect);
Voilà... Si quelqu'un veut mettre un peu les mains dans le cambouis...
J'ai l'impression que chacun utilise sa propre syntaxe, ce qui m'étonne pour un code censé être universel !?!
Bon, j'en suis là : message "Impossible de se connecter".
Le code de connexion :
// Parametres mysql
define('DB_SERVER', 'localhost'); // serveur mysql - sans autre indication de mon hébergeur, je laisse "localhost"
define('DB_SERVER_USERNAME', 'campusliber'); // nom d'utilisateur - vérifié, OK
define('DB_SERVER_PASSWORD', '123456'); // mot de passe - vérifié, OK
define('DB_DATABASE', 'agents.inscription'); // nom de la base - là, j'ai un petit souci de compréhension : le nom de la base est "agents", mais le nom de la table est "inscription". Ça ne fonctionnait pas du tout quand j'indiquais seulement le nom de la base, j'ai donc rajouté le nom de la table, avec un point entre les deux...
// Connexion au serveur mysql
mysql_connect ($DB_SERVER, $DB_SERVER_USERNAME, $DB_SERVER_PASSWORD) or die("Impossible de se connecter ") ;
// sélection de la base de données
mysql_select_db(DB_DATABASE, $connect);
Voilà... Si quelqu'un veut mettre un peu les mains dans le cambouis...
Salut, désolé de t'avoir mis sur une fausse piste ! Je ne pensais pas que tu aurais mis les variables du serveur comme constante ! Donc tu peux enlever les $. Sinon y a une erreur de compréhension en effet, le nom de ta base est uniquement agents, pas agent.inscription. C'est plus tard que tu selectionnera ta table, tu lors de l'INSERT. Bref, essaye ca :
define('DB_DATABASE', 'agents');
// Connexion au serveur mysql
$connect = mysql_connect (DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD) or die("Impossible de se connecter ") ;
// sélection de la base de données
mysql_select_db(DB_DATABASE, $connect);
Voilà désolé de t'avoir induit en erreur !
define('DB_DATABASE', 'agents');
// Connexion au serveur mysql
$connect = mysql_connect (DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD) or die("Impossible de se connecter ") ;
// sélection de la base de données
mysql_select_db(DB_DATABASE, $connect);
Voilà désolé de t'avoir induit en erreur !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Alors, j'ai fait ça :
10 // Parametres mysql
11 define('DB_SERVER', 'localhost'); // serveur mysql
12 define('DB_SERVER_USERNAME', 'campusliber'); // nom d'utilisateur
13 define('DB_SERVER_PASSWORD', '123456'); // mot de passe
14 define('DB_DATABASE', 'agents'); // nom de la base
15
16// Connexion au serveur mysql
17 $connect = mysql_connect (DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD) or die("Impossible de se connecter ") ;
18 // sélection de la base de données
19 mysql_select_db(DB_DATABASE, $connect);
et ça donne ça :
Erreur de syntaxe près de ')' à la ligne 17
M'énerve, cette syntaxe !!!
tienjs, petit p.s. / qui connaîtrait un dico de syntaxe php et sql EN FRANÇAIS !!!??
10 // Parametres mysql
11 define('DB_SERVER', 'localhost'); // serveur mysql
12 define('DB_SERVER_USERNAME', 'campusliber'); // nom d'utilisateur
13 define('DB_SERVER_PASSWORD', '123456'); // mot de passe
14 define('DB_DATABASE', 'agents'); // nom de la base
15
16// Connexion au serveur mysql
17 $connect = mysql_connect (DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD) or die("Impossible de se connecter ") ;
18 // sélection de la base de données
19 mysql_select_db(DB_DATABASE, $connect);
et ça donne ça :
Erreur de syntaxe près de ')' à la ligne 17
M'énerve, cette syntaxe !!!
tienjs, petit p.s. / qui connaîtrait un dico de syntaxe php et sql EN FRANÇAIS !!!??
20 mai 2008 à 11:03
Table: inscription
Rubrique : civilites
Je ne fais que reprendre l'arborescence établie par mon serveur !