Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
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 14/06/2006, 10h42   #1
Membre à l'essai
 
Inscription : mai 2006
Messages : 69
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 69
Points : 22
Points : 22
Par défaut [SQL] erreur de syntaxe dans une requete

Bonjour tous le monde, je pense avoir une erreur de syntaxe dan ma requete que voici:

$reket="insert into ACIER ("REPERE_ID_ACIER", "COULEE", "NUANCE", "ACT_MATRICULE") values ('',$_POST['COULEE'], $_POST['NUANCE'],$act_matricule)";


Voila l'erreur que j'obtient:

Parse error: parse error in c:\program files\easyphp1-8\www\saisieacier\enregacier.php on line 69
la ligne 69 corespond a la ligne de ma requete!

Queelqu'un voit-il mon erreur? merci d'avance
einsteineuzzz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2006, 10h45   #2
Membre Expert
 
Inscription : avril 2006
Messages : 1 338
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : avril 2006
Messages : 1 338
Points : 1 315
Points : 1 315
$reket="insert into ACIER (COULEE, NUANCE, ACT_MATRICULE) values ('$_POST['COULEE']', '$_POST['NUANCE']','$act_matricule')";

comme ça c'est mieu...
__________________
Stay in Bed .. Save Energy
boo64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2006, 10h46   #3
mmz
Membre du Club
 
Homme Med Mourad Zitouni
Développeur Web
Inscription : mars 2006
Messages : 107
Détails du profil
Informations personnelles :
Nom : Homme Med Mourad Zitouni
Âge : 30
Localisation : Tunisie

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mars 2006
Messages : 107
Points : 64
Points : 64
remplace ton code par celui-ci :
Code :
1
2
 
$reket="insert into ACIER (REPERE_ID_ACIER, COULEE, NUANCE, ACT_MATRICULE) values (,$_POST['COULEE'], $_POST['NUANCE'],$act_matricule)";
il faut aussi que tu mettes une valeur qui correspond au champ REPERE_ID_ACIER
mmz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2006, 10h48   #4
Membre Expert
 
Inscription : avril 2006
Messages : 1 338
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : avril 2006
Messages : 1 338
Points : 1 315
Points : 1 315
Citation:
il faut aussi que tu mettes une valeur qui correspond au champ [B]REPERE_ID_ACIER
pas frocement si c'est un champ auto-increment
__________________
Stay in Bed .. Save Energy
boo64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2006, 10h50   #5
Membre expérimenté
 
Inscription : avril 2006
Messages : 462
Détails du profil
Informations personnelles :
Âge : 33
Localisation : Canada

Informations forums :
Inscription : avril 2006
Messages : 462
Points : 556
Points : 556
Envoyer un message via MSN à rbaatouc Envoyer un message via Skype™ à rbaatouc
fais ça

Code :
$reket="insert into ACIER ("REPERE_ID_ACIER", "COULEE", "NUANCE", "ACT_MATRICULE") values ('','".addslashes($_POST["COULEE"])."', '".addslashes($_POST["NUANCE"])."','".addslashes($act_matricule)."')";
rbaatouc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2006, 10h51   #6
Membre Expert
 
Inscription : avril 2006
Messages : 1 338
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : avril 2006
Messages : 1 338
Points : 1 315
Points : 1 315
+1 rbaatouc les addslashes t'evitera bien des erreurs!!!
__________________
Stay in Bed .. Save Energy
boo64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2006, 10h52   #7
mmz
Membre du Club
 
Homme Med Mourad Zitouni
Développeur Web
Inscription : mars 2006
Messages : 107
Détails du profil
Informations personnelles :
Nom : Homme Med Mourad Zitouni
Âge : 30
Localisation : Tunisie

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mars 2006
Messages : 107
Points : 64
Points : 64
oui c ça :
si tu veux insérer seulement dans les trois champs COULEE, NUANCE, ACT_MATRICULE
alors :
$reket="insert into ACIER (COULEE, NUANCE, ACT_MATRICULE) values ('$_POST['COULEE']', '$_POST['NUANCE']','$act_matricule')";
mais si tu veux insérer une valeur pour le champ REPERE_ID_ACIER, il faudra mettre cette valeur :
$reket="insert into ACIER (REPERE_ID_ACIER,COULEE, NUANCE, ACT_MATRICULE) values (valeur,'$_POST['COULEE']', '$_POST['NUANCE']','$act_matricule')";
mmz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2006, 10h54   #8
Membre expérimenté
 
Inscription : avril 2006
Messages : 462
Détails du profil
Informations personnelles :
Âge : 33
Localisation : Canada

Informations forums :
Inscription : avril 2006
Messages : 462
Points : 556
Points : 556
Envoyer un message via MSN à rbaatouc Envoyer un message via Skype™ à rbaatouc
Citation:
Envoyé par mmz
oui c ça :
si tu veux insérer seulement dans les trois champs COULEE, NUANCE, ACT_MATRICULE
alors :
$reket="insert into ACIER (COULEE, NUANCE, ACT_MATRICULE) values ('$_POST['COULEE']', '$_POST['NUANCE']','$act_matricule')";
mais si tu veux insérer une valeur pour le champ REPERE_ID_ACIER, il faudra mettre cette valeur :
$reket="insert into ACIER (REPERE_ID_ACIER,COULEE, NUANCE, ACT_MATRICULE) values (valeur,'$_POST['COULEE']', '$_POST['NUANCE']','$act_matricule')";

mauvaise réponse mmz; tu peux inserer sans préciser la valeur, si tu met tu met juste les apostrophes et que ton champ est en autoincrement(id de la table je pense que ça doit letre) alors ta requete crée un nouvel enregistrement avec lidentifiant quil faut automatiquement
rbaatouc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2006, 10h58   #9
Membre à l'essai
 
Inscription : mai 2006
Messages : 69
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 69
Points : 22
Points : 22
le champs repere-id-acier doit etre auto-incrementé.
Je teste tous ce que vous m'avez dit et je vous tiens au courant. Merci pour toutes vos réponses
einsteineuzzz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2006, 11h00   #10
mmz
Membre du Club
 
Homme Med Mourad Zitouni
Développeur Web
Inscription : mars 2006
Messages : 107
Détails du profil
Informations personnelles :
Nom : Homme Med Mourad Zitouni
Âge : 30
Localisation : Tunisie

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mars 2006
Messages : 107
Points : 64
Points : 64
oui, désolé
merci rbaatouc
mmz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2006, 12h35   #11
Membre à l'essai
 
Inscription : mai 2006
Messages : 69
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 69
Points : 22
Points : 22
maintenant , j'ai cette erreur qui s'affiche:

Warning: ibase_query(): Dynamic SQL Error SQL error code = -104 Token unknown - line 1, char 75 , in c:\program files\easyphp1-8\www\saisieacier\testclass.php on line 22

je crois que le probleme de la requete est resolu et que cette n'erreur vient dautre chose????
einsteineuzzz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2006, 12h39   #12
Membre expérimenté
 
Inscription : avril 2006
Messages : 462
Détails du profil
Informations personnelles :
Âge : 33
Localisation : Canada

Informations forums :
Inscription : avril 2006
Messages : 462
Points : 556
Points : 556
Envoyer un message via MSN à rbaatouc Envoyer un message via Skype™ à rbaatouc
la requete est bonne lerreur vient de la façon donc tu lexecute montre ton code stp
rbaatouc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2006, 12h46   #13
Membre à l'essai
 
Inscription : mai 2006
Messages : 69
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 69
Points : 22
Points : 22
$reket="insert into ACIER (REPERE_ID_ACIER, COULEE, NUANCE, ACT_MATRICULE) values (,$coul,$nuance,$act_matricule)";
$resultat=$db->query($reket);



avec: $db = new inter; ou inter est une class:

class inter {
var $user;
var $pass;
var $hote;
var $idconect;
var $rez_id;

function inter()
{
$this->idconect = ibase_connect('C:\Projet CREAS\SIC.GDK', 'SYSDBA' , 'masterkey');
if (!$this->idconect)
{
echo ('Erreur connection Interbase');
}
}


function query ($reket)
{
return $this->rez_id = ibase_query($reket,$this->idconect) ;
}
}
einsteineuzzz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2006, 13h42   #14
Membre expérimenté
 
Inscription : avril 2006
Messages : 462
Détails du profil
Informations personnelles :
Âge : 33
Localisation : Canada

Informations forums :
Inscription : avril 2006
Messages : 462
Points : 556
Points : 556
Envoyer un message via MSN à rbaatouc Envoyer un message via Skype™ à rbaatouc
tu peux mettre la balise code avec # et puis c''est quelle ligne la 22 dans ton fichier c:\program files\easyphp1-8\www\saisieacier\testclass.php
rbaatouc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2006, 15h36   #15
Membre à l'essai
 
Inscription : mai 2006
Messages : 69
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 69
Points : 22
Points : 22
toujours pas résolu....
Voila ce ke tu mas demandé:

Code :
1
2
3
4
5
 
require("testclass.php");
$db = new inter;
$reket="insert into ACIER (REPERE_ID_ACIER, COULEE, NUANCE, ACT_MATRICULE) values (,$coul,$nuance,$act_matricule)";
$resultat=$db->query($reket);

testclass.php

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class inter {
var $user;
var $pass;
var $hote;
var $idconect;
var $rez_id;
 
function inter()
{
$this->idconect = ibase_connect('C:\Projet CREAS\SIC.GDK', 'SYSDBA' , 'masterkey');
if (!$this->idconect)
{
echo ('Erreur connection Interbase');
}
}
 
 
function query ($reket)
{
return $this->rez_id = ibase_query($reket,$this->idconect) ;//ligne 22
}
}
einsteineuzzz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2006, 15h43   #16
Membre expérimenté
 
Inscription : avril 2006
Messages : 462
Détails du profil
Informations personnelles :
Âge : 33
Localisation : Canada

Informations forums :
Inscription : avril 2006
Messages : 462
Points : 556
Points : 556
Envoyer un message via MSN à rbaatouc Envoyer un message via Skype™ à rbaatouc
peux ajouter ça a ton code pour voir lerreur
Code :
1
2
3
4
function query ($reket)
{
return $this->rez_id = ibase_query($reket,$this->idconect) or die(ibase_errmsg());
}
et au passage c faux ça

Code :
1
2
3
4
require("testclass.php");
$db = new inter;
$reket="insert into ACIER (REPERE_ID_ACIER, COULEE, NUANCE, ACT_MATRICULE) values (,$coul,$nuance,$act_matricule)";
$resultat=$db->query($reket);
c'est pas ce quon ta donné comme solution; fais comme ça (en rouge les modifs)

Code :
1
2
3
4
require("testclass.php");
$db = new inter;
$reket="insert into ACIER (REPERE_ID_ACIER, COULEE, NUANCE, ACT_MATRICULE) values ('','".addslashes($coul)."','".addslashes($nuance)."','".addslashes($act_matricule)."')";
$resultat=$db->query($reket);
rbaatouc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2006, 08h59   #17
Membre à l'essai
 
Inscription : mai 2006
Messages : 69
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 69
Points : 22
Points : 22
C BON CA MARCHE!!!!
LA requete marche a merveille. Pour l'autre problème, le formulaire fonctionnait normallement lorsqu'il se trouvait dans le repertoire "www", mais quand il était dans un sous-dossier, plus rien ne marchait. Si quelqu'un a une explication a cela????
Bref, l'essentiel c'est que ca marche.
Merci a tous pour votre aide...
einsteineuzzz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2006, 09h24   #18
Membre Expert
 
Inscription : avril 2006
Messages : 1 338
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : avril 2006
Messages : 1 338
Points : 1 315
Points : 1 315
ba pb de chemin quan tapelle ton form surement
__________________
Stay in Bed .. Save Energy
boo64 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 12h56.


 
 
 
 
Partenaires

Hébergement Web