Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & ODBC
PHP & ODBC Forum d'entraide sur ODBC avec PHP. Avant de poster -> FAQ ODBC
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/07/2007, 14h32   #1
Membre du Club
 
Inscription : avril 2007
Messages : 93
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 93
Points : 61
Points : 61
Par défaut Problème d'insertion de données ("Trop peu de paramètres")

Bonjour à tous,

Je suis en train de réaliser un petit script qui vise à insérer des utilisateurs dans une table d'une base Access.

Le schéma de la table est le suivant :

T4Cusers ( ID , Account , Password , Account_type , Expired , Fullname , Email , CreationDate , RevisionDate )

Le champ ID est de type NuméroAuto



Pour l'insertion des membres, j'utilise un système tout bête basé sur deux pages :
  1. La page qui contient le formulaire
  2. La page qui traite les données transmises par le formulaire


Sur la page de traitement, j'effectue ma requête d'insertion. Je précise que je ne veux remplir que 3 champs dans la table. Les autres sont donc laissés à NULL.

Le code de le requête est le suivant :

Code :
1
2
3
4
5
6
7
8
9
//Connexion à la BDD
$connexion = odbc_connect( "bdd_t4c", "", "");
 
//Requete
$requete = "INSERT INTO T4Cusers ( Account , Password , Email )
		VALUES (\"$login\" , \"$mdp\" , \"$email\");";
 
//Execution de la requete
odbc_do($connexion, $requete)
La requête ne fonctionne pas, j'ai l'erreur suivante :

Citation:
Warning: odbc_do(): SQL error: [Microsoft][Pilote ODBC Microsoft Access] Trop peu de paramètres. 1 attendu., SQL state 07001 in SQLExecDirect

J'ai essayé de faire un echo() de la requête, ce qui me donne :

Code :
1
2
INSERT INTO T4Cusers ( Account , Password , Email )
           VALUES ("dfdf" , "dfdf" , "dfdf");
Lorsque je copie cette requête dans Access, elle fonctionne.

Je ne comprend donc pas pourquoi elle ne fonctionne pas lorsqu'elle est exécutée via PHP.


Merci pour toute aide apportée
Christophe_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2007, 14h43   #2
Membre du Club
 
Inscription : juin 2007
Messages : 56
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 56
Points : 43
Points : 43
Bonjour,

Est ce que ton identifiant de connexion $connexion ne serait Null par hasard ,
Essaye de vérifier si ta fonction "odbc_connect" s'est executée correctement et t'as renvoyé un identifiant valide.

Bon courage
jerome600 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2007, 14h51   #3
Membre du Club
 
Inscription : avril 2007
Messages : 93
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 93
Points : 61
Points : 61
Merci pour ta réponse,

$connexion n'est pas Null, je viens de rajouter un if au niveau de odbc_connect() et tout se passe bien.
Christophe_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2007, 14h19   #4
Membre du Club
 
Inscription : avril 2007
Messages : 93
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 93
Points : 61
Points : 61
Le problème venait des guillemets / quotes dans la requête.

Voilà la requête fonctionnelle :

Code :
1
2
$requete = "INSERT INTO T4Cusers (Account , Password , Email)
			VALUES ( '$login' , '$mdp' , '$email' );";
Christophe_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h13.


 
 
 
 
Partenaires

Hébergement Web