Probleme INSERT
Résolu/Fermé
powpowland
Messages postés
396
Date d'inscription
lundi 3 mars 2008
Statut
Membre
Dernière intervention
2 mars 2022
-
8 juin 2009 à 12:20
le père - 11 juin 2009 à 15:13
le père - 11 juin 2009 à 15:13
A voir également:
- Probleme INSERT
- Touche insert - Guide
- Disk boot failure insert system disk and press enter - Guide
- Problème touche inser ✓ - Forum Clavier
- Insert boot disk and press any key ✓ - Forum Windows
- Ou est la touche "INSERT" ? ✓ - Forum Clavier
17 réponses
pour le addslashes ça marche quand meme en fait
Très mauvaise réponse!
Tout ce que tu peux dire, c'est que tu n'as pas lu la doc et que tu n'es pas encore tombé sur les cas où ça ne marche pas. Un jour tu reviendras sur le forum en disant 'j'ai toujours fait comme ça et ça a toujours marché, et aujourd'hui ça ne marche plus'.
Très mauvaise réponse!
Tout ce que tu peux dire, c'est que tu n'as pas lu la doc et que tu n'es pas encore tombé sur les cas où ça ne marche pas. Un jour tu reviendras sur le forum en disant 'j'ai toujours fait comme ça et ça a toujours marché, et aujourd'hui ça ne marche plus'.
Psix
Messages postés
105
Date d'inscription
jeudi 14 mai 2009
Statut
Membre
Dernière intervention
7 décembre 2010
5
8 juin 2009 à 12:27
8 juin 2009 à 12:27
Bonjour, je ne sais pas du tout si cela change quelque chose, mais que font les deux // dans
//$insert='INSERT INTO events SET nom="'.$nom.'",vignette="'.$vignette.'",date="'.$date.'",desc="'.$desc.'",nomxml="'.$nomxml.'"'; ? Ce n'est pas pour les commentaires ? Et il ne faut pas un mysql_query ? Sinon je ne sais pas dsl. Bonne chance
//$insert='INSERT INTO events SET nom="'.$nom.'",vignette="'.$vignette.'",date="'.$date.'",desc="'.$desc.'",nomxml="'.$nomxml.'"'; ? Ce n'est pas pour les commentaires ? Et il ne faut pas un mysql_query ? Sinon je ne sais pas dsl. Bonne chance
Yoan
Messages postés
11795
Date d'inscription
mardi 1 février 2005
Statut
Modérateur
Dernière intervention
10 décembre 2023
2 330
8 juin 2009 à 12:31
8 juin 2009 à 12:31
un petit mysql_error() ? :-)
Tu dois certainement avoir au moins une des valeurs vides, tu ne les vérifies pas une à une, c'est un gros danger.
Tu dois certainement avoir au moins une des valeurs vides, tu ne les vérifies pas une à une, c'est un gros danger.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour
DESC est un mot réservé en Mysql, si tu veux l'utiliser comme nom de champ, entoure le d'accents graves :
$insert='INSERT INTO events (name,vignette,date,`desc`,nomxml) VALUES ("'.$nom.'","'.$vignette.'","'.$date.'","'.$desc.'","'.$nomxml.'")';
ou change de nom...
DESC est un mot réservé en Mysql, si tu veux l'utiliser comme nom de champ, entoure le d'accents graves :
$insert='INSERT INTO events (name,vignette,date,`desc`,nomxml) VALUES ("'.$nom.'","'.$vignette.'","'.$date.'","'.$desc.'","'.$nomxml.'")';
ou change de nom...
powpowland
Messages postés
396
Date d'inscription
lundi 3 mars 2008
Statut
Membre
Dernière intervention
2 mars 2022
20
8 juin 2009 à 13:43
8 juin 2009 à 13:43
pour les // c'est parce que c'est mis en commentaire...
pour les valeurs vides, j'avais déjà fait un code avec un control et ça marchait pas non plus et puis de toute façon le sql prend en compte les valeurs vides en laissant le champ vide une fois dans la BD...
pour desc, j'ai essayé les accents grave ça marche pas et j'ai changé desc en description et ça marche toujours pas...
pour les valeurs vides, j'avais déjà fait un code avec un control et ça marchait pas non plus et puis de toute façon le sql prend en compte les valeurs vides en laissant le champ vide une fois dans la BD...
pour desc, j'ai essayé les accents grave ça marche pas et j'ai changé desc en description et ça marche toujours pas...
if(isset($_GET['setup'])){
$nom=$_POST['nom'];
$vignette=$_FILES['vignette']['name'];
$date=$_POST['date'];
$desc=$_POST['desc'];
$nomxml=$_POST['nomxml'];
ce test est farfelu, ton formulaire est en GET ou en POST ?
Sinon, que donne le mysql_error() demandé par Yoan ?
$nom=$_POST['nom'];
$vignette=$_FILES['vignette']['name'];
$date=$_POST['date'];
$desc=$_POST['desc'];
$nomxml=$_POST['nomxml'];
ce test est farfelu, ton formulaire est en GET ou en POST ?
Sinon, que donne le mysql_error() demandé par Yoan ?
powpowland
Messages postés
396
Date d'inscription
lundi 3 mars 2008
Statut
Membre
Dernière intervention
2 mars 2022
20
8 juin 2009 à 13:59
8 juin 2009 à 13:59
en fait mon action est comme ceci :
c'est pour gagner une page de code en fait... j'ai d'autre get du meme genre mais au lieu du setup j'ai un update et un delete...
je l'ai déjà fait sur plusieurs page pour la même admin et ça marché jusqu'à maintenant...
<form method='post' action='mapage.php?setup' enctype='multipart/form-data'>
c'est pour gagner une page de code en fait... j'ai d'autre get du meme genre mais au lieu du setup j'ai un update et un delete...
je l'ai déjà fait sur plusieurs page pour la même admin et ça marché jusqu'à maintenant...
pyschopathe
Messages postés
1974
Date d'inscription
dimanche 2 mars 2008
Statut
Membre
Dernière intervention
22 mars 2010
135
8 juin 2009 à 14:02
8 juin 2009 à 14:02
Au hasard : tu as essayé de protéger les valeurs insérées avec des simple quotes au lieu de doubles ?
Mes excuses pour le farfelu. Mêler le GET et le POST, je n'avais jamais eu l'idée, mais pourquoi pas après tout ?
Mais le plus important, c'est le message d'erreur : que dit le MySQL_error() ?
En ce qui concerne les quotes, mysql se soucie peu que les données soient entourées de simples ou doubles quotes. Ils jouent exactement le même rôle, contrairement au PHP.
Mais le plus important, c'est le message d'erreur : que dit le MySQL_error() ?
En ce qui concerne les quotes, mysql se soucie peu que les données soient entourées de simples ou doubles quotes. Ils jouent exactement le même rôle, contrairement au PHP.
pyschopathe
Messages postés
1974
Date d'inscription
dimanche 2 mars 2008
Statut
Membre
Dernière intervention
22 mars 2010
135
8 juin 2009 à 14:15
8 juin 2009 à 14:15
Ok, merci le père, je m'en doutais mais n'en étais pas convaincu !
powpowland
Messages postés
396
Date d'inscription
lundi 3 mars 2008
Statut
Membre
Dernière intervention
2 mars 2022
20
8 juin 2009 à 14:18
8 juin 2009 à 14:18
c'est ça le problème, c'est que le mysql_error() est inexistant même avec des nom de table faux...
mais j'ai essayé de l'incorporer dans une autre page où j'avais enchevétré plein de GET/POST comme je te l'ai expliqué plus haut et ça marche...
c'est encore un des grands mystères du PHP qui ne sera peut-être jamais résolu...
mais si quelqu'un a la réponse, je la prend volontier...
sur ce, un grand merci à toutes les personnes qui ont essayé...
mais j'ai essayé de l'incorporer dans une autre page où j'avais enchevétré plein de GET/POST comme je te l'ai expliqué plus haut et ça marche...
c'est encore un des grands mystères du PHP qui ne sera peut-être jamais résolu...
mais si quelqu'un a la réponse, je la prend volontier...
sur ce, un grand merci à toutes les personnes qui ont essayé...
le problème, c'est que le mysql_error() est inexistant
Qu'est-ce que ça veut dire ?
$resultat = mysql_query ($insert) or die ("Requête invalide");
Tu as bien dit que ça t'affichait Requête invalide ? et si tu mets
$resultat = mysql_query ($insert) or die (mysql_error());
ça ne t'affiche rien ?
J'ai du mal à te suivre
Qu'est-ce que ça veut dire ?
$resultat = mysql_query ($insert) or die ("Requête invalide");
Tu as bien dit que ça t'affichait Requête invalide ? et si tu mets
$resultat = mysql_query ($insert) or die (mysql_error());
ça ne t'affiche rien ?
J'ai du mal à te suivre
powpowland
Messages postés
396
Date d'inscription
lundi 3 mars 2008
Statut
Membre
Dernière intervention
2 mars 2022
20
8 juin 2009 à 15:08
8 juin 2009 à 15:08
oups j'avais pas vu ça comme ça... ^^
j'essayerai ça plus tard, je me suis lancé dans la suite du code...
j'essayerai ça plus tard, je me suis lancé dans la suite du code...
powpowland
Messages postés
396
Date d'inscription
lundi 3 mars 2008
Statut
Membre
Dernière intervention
2 mars 2022
20
11 juin 2009 à 14:31
11 juin 2009 à 14:31
bon j'ai essayé un nouveau code et ça me fait la même chose, mais j'ai mis mysql_error et sa me dit une erreur de syntaxe :
Erreur de syntaxe près de '(user='User1')' à la ligne 1
mais je vois pas d'où ça vient...
Erreur de syntaxe près de '(user='User1')' à la ligne 1
mais je vois pas d'où ça vient...
powpowland
Messages postés
396
Date d'inscription
lundi 3 mars 2008
Statut
Membre
Dernière intervention
2 mars 2022
20
11 juin 2009 à 14:32
11 juin 2009 à 14:32
sachant qu'à la base mon code c'est :
$user = $_COOKIE["NOM_UTILISATEUR"]; $log = ("INSERT INTO log SET (user='".addslashes($user)."')"); $resultat = mysql_query ($log) or die (mysql_error());
Et pour inséerer des données dans une base mysql, ce n'est pas addslashes qu'il faut utiliser, mais mysql_real_escape_string :
$log = ("INSERT INTO log SET user='".mysql_real_escape_string($user)."'");
$log = ("INSERT INTO log SET user='".mysql_real_escape_string($user)."'");
powpowland
Messages postés
396
Date d'inscription
lundi 3 mars 2008
Statut
Membre
Dernière intervention
2 mars 2022
20
11 juin 2009 à 14:58
11 juin 2009 à 14:58
merci beaucoup en fait j'avais trouvé 5min apres avoir posté le message, j'ai mis cote à cote deux INSERT... pour le addslashes ça marche quand meme en fait...