mon prog ne marche pas

vraiment nul en php
Invité n'ayant pas de compte PHPfrance

17 mai 2005, 10:25

ces lignes peuvent elles fonctionner?

SELECT * FROM `8el` WHERE VALDEC=!"255"
INSERT INTO 'alertes'

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

17 mai 2005, 10:26

non, je ne pense pas !!! Mais je suis pas sûr !!!
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

nul en php
Invité n'ayant pas de compte PHPfrance

17 mai 2005, 10:29

ca ne marche pas j'ai cette erreur qui s'affiche
Erreur

requête SQL :
 
INSERT INTO alertes
VALUES (

'VALDEC', 'DATE'
)(

SELECT 8el(
' VALDEC', 'DATE'
)
) 

MySQL a répondu:


#1064 - Erreur de syntaxe près de '( 
SELECT 8el(  ' VALDEC',  'DATE' ) )' à la ligne 2

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

17 mai 2005, 10:31

Ca y est, j'ai trouvé !!! c'est la syntaxe de ton SELECT qui est fausse !!!!

tu ecrit SELECT table (col, col) alors que c'est SELECT col, col FROM table

Code : Tout sélectionner

INSERT INTO alertes VALUES ('VALDEC', 'DATE') (SELECT 'VALDEC', 'DATE' FROM 8el))
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

ViPHP
ViPHP | 2144 Messages

17 mai 2005, 10:32

Je vais me faire l'avocat du diable, mais pourquoi recopier le contenu d'une table dans une autre table de la même base. Ca introduit une redondance, qu'il y a surement moyen d'éviter

nul en php
Invité n'ayant pas de compte PHPfrance

17 mai 2005, 10:37

il y a quand meme une erreur

requête SQL :
INSERT INTO alertes
VALUES (

'VALDEC', 'DATE'
)(

SELECT 8el(
' VALDEC', 'DATE'
)
) 

MySQL a répondu:


#1064 - Erreur de syntaxe près de '( 
SELECT 8el(  ' VALDEC',  'DATE' ) )' à la ligne 2

ViPHP
ViPHP | 2144 Messages

17 mai 2005, 10:39

Tu ne vois pas comme qui dirait une différence entre ton code et celui proposé par Zeus, Erreur qu'il t'a expliqué il y a quelques posts

Mammouth du PHP | 19672 Messages

17 mai 2005, 10:41

BOn , j'ai poussé jusqu'à faire des essais pour être sur de moi: la syntaxe de ta requête est incorrecte: Voici un exemple de transfert d'une table essai_2 vers une table essai_1

Code : Tout sélectionner

INSERT INTO `essai_2` (`date_essai_2`, `Nom_essai_2`) SELECT date_essai_1, nom_essai_1 FROM essai_1
Tu peux rajouter une clause WHERE dans la partie SELECT au besoin.

Voir la DOC
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

nul en php
Invité n'ayant pas de compte PHPfrance

17 mai 2005, 10:42

En fait cette base de donnée me permet de faire report d'alarme, la table 8el me permet une visualisation direct des 50 dernières verifications d'alarmes quelque soit leurs états alors que la table alertes doit sauvegarder que les lignes détectant une alarmes (lorsque que VALDEC différents de 255) et elle doit garder ces informations jusqu'à ce que je décide de la vider

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

17 mai 2005, 10:45

Merci Cyrano, de me soutenir parce qu'apparamment, personne a vu mon post a part iclo
Ca y est, j'ai trouvé !!! c'est la syntaxe de ton SELECT qui est fausse !!!!

tu ecrit SELECT table (col, col) alors que c'est SELECT col, col FROM table

Code : Tout sélectionner

INSERT INTO alertes VALUES ('VALDEC', 'DATE') (SELECT 'VALDEC', 'DATE' FROM 8el))
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

nul en php
Invité n'ayant pas de compte PHPfrance

17 mai 2005, 10:46

Erreur

requête SQL :

INSERT INTO alertes
VALUES (

'VALDEC', 'DATE'
)(

SELECT 'VALDEC', 'DATE'
FROM 8el
)
)

MySQL a répondu:


#1064 - Erreur de syntaxe près de '(
SELECT 'VALDEC', 'DATE'
FROM 8el ) )' à la ligne 2
a

nul en php
Invité n'ayant pas de compte PHPfrance

17 mai 2005, 10:55

en fait zeus tu avais raison mais se sont les parenthèses qui pausaient problème dans ton code
INSERT INTO `alertes` ( `DATE` , `VALDEC` ) 
SELECT DATE, VALDEC
FROM 8el
il n'y a plus d'erreurs

Eléphanteau du PHP | 46 Messages

17 mai 2005, 10:57

t'est sure que t'est entrain de modifier le mm fichier ??
prcq on dirais que malgrès tous les changements qu'ont vous proposé tjrs la mm erreur :)
Ce que je peut vous rajjouter essayer de faire la selection ensuite recopie le ds la nvelle table malgrès que je ne voit pas pkoi tu va recopier le contenu d'une table ds une autre ... tu peut rajouter juste une table d'id si tu veut afficher les 50 derniers tu met cette requete
$requete="SELECT VALDEC,DATE FROM 8el ORDER BY ID LIMIT 50";
Good Luck
L'informatique c'est ma vie

Mammouth du PHP | 19672 Messages

17 mai 2005, 11:00

plus d'erreur... et tes données devraient être incrites correctement je suppose ?

Et comme je disais, tu peux rajouter une clause WHERE au bout du SELECT, comme ça, tu mets une condition directement exécutée par MySQL au lieu de le faire par programmation cliente puisque dans ce cas, PHP est client pour MySQL qui est serveur
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

NUL EN PHP
Invité n'ayant pas de compte PHPfrance

17 mai 2005, 11:09

j'ai utilisé le code de cyrano dans mon prog en php et mes résultats s'affiche correctement .Par contre dans le cas où je voudrais éxécuter directement par Mysql comment faire pour qu'elle soit permanente car elle s'éfface à chaque fois que je sors de la table ou de la base de donnée
Peut on enregitrer le code?