Syntax requte sql dans php
Fermé
dlw
-
2 août 2010 à 14:26
Alain_42
Alain_42
- Messages postés
- 5358
- Date d'inscription
- dimanche 3 février 2008
- Statut
- Membre
- Dernière intervention
- 13 février 2017
A voir également:
- Syntax requte sql dans php
- Supprimer une ligne d'une table sql en php ✓ - Forum - PHP
- Syntaxe select sql - Articles
- Afficher resultat requete SQL via php ✓ - Forum - PHP
- Rassembler plusieurs lignes sql en php ✓ - Forum - PHP
- Insertion ligne sql en php ✓ - Forum - PHP
8 réponses
Breub62
2 août 2010 à 14:28
- Messages postés
- 2987
- Date d'inscription
- lundi 7 juin 2010
- Statut
- Membre
- Dernière intervention
- 17 avril 2014
2 août 2010 à 14:28
sqlD=mysql_query("delete from video where NumV = ".$_POST['vrecherche']);
Krysstof
2 août 2010 à 14:30
- Messages postés
- 1483
- Date d'inscription
- mercredi 18 février 2009
- Statut
- Membre
- Dernière intervention
- 23 août 2010
2 août 2010 à 14:30
et le message d'erreur c'est quoi?
sinon, est sur que ta variable de post 'vrecherche' est remplie?
et dernier truc, essaye de rajouter * entre delete et from : Delete * from .....
(la je suis pas sur, mais je me rappelle plus de la syntaxe exacte en mysql, et ca varie d'un moteur sql à l'autre)
sinon, est sur que ta variable de post 'vrecherche' est remplie?
et dernier truc, essaye de rajouter * entre delete et from : Delete * from .....
(la je suis pas sur, mais je me rappelle plus de la syntaxe exacte en mysql, et ca varie d'un moteur sql à l'autre)
HostOfSeraphim
2 août 2010 à 16:18
- Messages postés
- 6746
- Date d'inscription
- jeudi 2 février 2006
- Statut
- Contributeur
- Dernière intervention
- 31 juillet 2016
2 août 2010 à 16:18
Il n'y a rien entre DELETE et FROM. Ni *, ni autre chose.
Alain_42
2 août 2010 à 15:08
- Messages postés
- 5358
- Date d'inscription
- dimanche 3 février 2008
- Statut
- Membre
- Dernière intervention
- 13 février 2017
2 août 2010 à 15:08
c'est du php il faudrait un $ avant la variable qui va recevoir le résultat de la requette
et c'est $_POST en MAJUSCULES
voir aussi la concatenation
si ton champ NumV est de type numérique (INT) tu peux enlever les '
et c'est $_POST en MAJUSCULES
voir aussi la concatenation
$sqlD=mysql_query("DELETE FROM video WHERE NumV = '".$_POST['vrecherche']."'");
si ton champ NumV est de type numérique (INT) tu peux enlever les '
Nan il me met ca comme erreur, il me laisse pas declarer ma variable :
Notice: Undefined index: recherchevideo in C:\... ... on line 10.
Et a la ligne 10, je ne fais que declarer une variable
$video=$_POST['recherchevideo'];
Notice: Undefined index: recherchevideo in C:\... ... on line 10.
Et a la ligne 10, je ne fais que declarer une variable
$video=$_POST['recherchevideo'];
HostOfSeraphim
2 août 2010 à 16:19
- Messages postés
- 6746
- Date d'inscription
- jeudi 2 février 2006
- Statut
- Contributeur
- Dernière intervention
- 31 juillet 2016
2 août 2010 à 16:19
Envoie le code complet stp, il doit y avoir une erreur ailleurs.
HostOfSeraphim
2 août 2010 à 16:22
- Messages postés
- 6746
- Date d'inscription
- jeudi 2 février 2006
- Statut
- Contributeur
- Dernière intervention
- 31 juillet 2016
2 août 2010 à 16:22
Mets le ici plutôt, le but est que ça serve à tout le monde.
Pense à retirer les infos confidentielles par contre (mots de passe, etc).
Pense à retirer les infos confidentielles par contre (mots de passe, etc).
Krysstof
2 août 2010 à 16:31
- Messages postés
- 1483
- Date d'inscription
- mercredi 18 février 2009
- Statut
- Membre
- Dernière intervention
- 23 août 2010
2 août 2010 à 16:31
cette erreur vient du fait que la variable recherchevideo n'est pas dans le post
envoie aussi le code html de la page qui a le formulaire qui appelle le post.
envoie aussi le code html de la page qui a le formulaire qui appelle le post.
Voila le code, a coté j'ai ma page d'interface en .php, avec un input, pour saisir le numero de la video a supprimer, le name de l'input c'est : "recherchevideo", et j'ai mis dans le <body> la ligne, <form method="post" action="MaPageActionPHP.php">
<html>
<head>
<title></title>
</head>
<body>
<?php
//declaration de variable.
$video=$_POST['recherchevideo']; ==> C'est là ou il y a mon erreur..
//Connexion au serveur Mysql
$db=mysql_connect("localhost","login","pwd") or die ("erreur de connexion".mysql_error());
//Ouverture de la base de données
mysql_select_db("BDD",$db) or die ("erreur de connection à la bdd");
//Requête pour afficher les infos sur la video du numéro saisi.
$sql = "SELECT NumV, NomSupp, TitreV, DescriptifV, DateV, NomCat
FROM protagoniste, categorie, support, video,integrer
WHERE Numsupp = NumSuppV
AND NumCat = NumCatV
AND NumV = NumVIntegrer
AND NumProtaIntegrer = NumProta
AND NumV= '$video'";
$query = "SELECT * FROM users";
//Requête de suppression de videos.
$sqlD = "delete from video
where NumV = '$video'";
if(isset($_post['toto']))
{
if($res['droits'] == 1)
{
$sqlDR = mysql_query($sqlD) or die ("erreur".mysql_error());
//Exécution de la requête.
$res = mysql_query($query) or die ("erreur".mysql_error());
// début du tableau
echo '<table border="1" width="50%" bgcolor="#FFFFFF" align="center">';
// première ligne on affiche les titres prénom et surnom dans 2 colonnes
echo '<tr>';
echo '<td bgcolor="#669999" align="center"><b>Numéro</b></td>';
echo '<td bgcolor="#669999" align="center"><b>Support</b></td>';
echo '<td bgcolor="#669999" align="center"><b>Titre</b></td>';
echo '<td bgcolor="#669999" align="center"><b>Descriptif</b></td>';
echo '<td bgcolor="#669999" align="center"><b>Date</b></td>';
echo '<td bgcolor="#669999" align="center"><b>Catégorie</b></td>';
echo '</tr>';
// lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.
while($row = mysql_fetch_array($sql))
{
echo '<tr>';
echo '<td bgcolor="#CCCCCC">'.$row['NumV'].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row['NomSupp'].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row['TitreV'].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row['DescriptifV'].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row['DateV'].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row['NomCat'].'</td>';
echo '</tr>';
}
// fin du tableau.
echo '</table>';
}
else
{
echo "Vous ne disposez pas des droits nécessaires à la suppression de vidéos";
echo "Contactez votre administrateur, ou redirigez vous ";
?>
<a href="MaPage.php">sur la page principale.</a>
<?php
}
}
?>
</body>
</html>
<html>
<head>
<title></title>
</head>
<body>
<?php
//declaration de variable.
$video=$_POST['recherchevideo']; ==> C'est là ou il y a mon erreur..
//Connexion au serveur Mysql
$db=mysql_connect("localhost","login","pwd") or die ("erreur de connexion".mysql_error());
//Ouverture de la base de données
mysql_select_db("BDD",$db) or die ("erreur de connection à la bdd");
//Requête pour afficher les infos sur la video du numéro saisi.
$sql = "SELECT NumV, NomSupp, TitreV, DescriptifV, DateV, NomCat
FROM protagoniste, categorie, support, video,integrer
WHERE Numsupp = NumSuppV
AND NumCat = NumCatV
AND NumV = NumVIntegrer
AND NumProtaIntegrer = NumProta
AND NumV= '$video'";
$query = "SELECT * FROM users";
//Requête de suppression de videos.
$sqlD = "delete from video
where NumV = '$video'";
if(isset($_post['toto']))
{
if($res['droits'] == 1)
{
$sqlDR = mysql_query($sqlD) or die ("erreur".mysql_error());
//Exécution de la requête.
$res = mysql_query($query) or die ("erreur".mysql_error());
// début du tableau
echo '<table border="1" width="50%" bgcolor="#FFFFFF" align="center">';
// première ligne on affiche les titres prénom et surnom dans 2 colonnes
echo '<tr>';
echo '<td bgcolor="#669999" align="center"><b>Numéro</b></td>';
echo '<td bgcolor="#669999" align="center"><b>Support</b></td>';
echo '<td bgcolor="#669999" align="center"><b>Titre</b></td>';
echo '<td bgcolor="#669999" align="center"><b>Descriptif</b></td>';
echo '<td bgcolor="#669999" align="center"><b>Date</b></td>';
echo '<td bgcolor="#669999" align="center"><b>Catégorie</b></td>';
echo '</tr>';
// lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.
while($row = mysql_fetch_array($sql))
{
echo '<tr>';
echo '<td bgcolor="#CCCCCC">'.$row['NumV'].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row['NomSupp'].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row['TitreV'].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row['DescriptifV'].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row['DateV'].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row['NomCat'].'</td>';
echo '</tr>';
}
// fin du tableau.
echo '</table>';
}
else
{
echo "Vous ne disposez pas des droits nécessaires à la suppression de vidéos";
echo "Contactez votre administrateur, ou redirigez vous ";
?>
<a href="MaPage.php">sur la page principale.</a>
<?php
}
}
?>
</body>
</html>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Var POST : 0
Array
(
)
Array
(
)
Krysstof
2 août 2010 à 17:48
- Messages postés
- 1483
- Date d'inscription
- mercredi 18 février 2009
- Statut
- Membre
- Dernière intervention
- 23 août 2010
2 août 2010 à 17:48
hum... ok donc comme tu peux voir, ta variable RechercheVideo est vide. le message d'erreur vient de la.
par contre pourquoi c'est vide, la je comprends pas.
par contre pourquoi c'est vide, la je comprends pas.
En fait je voulais faire une page ou l'utilisateur avait la possibilité de saisir le numéro d'une video (mon input nommé "recherchevideo"), et quand il clic sur le bouton "toto", le code verifie si l'utilisateur a bien les droits pr supprimer, et si c'est le cas, la vidéo dont le numéro saisi correspond devrait etre supprimée !. Au depart, j'avais fait mon code php et html dans une seule page, mais au finale vu les complications, je me suis dit que faire ca en 2pages serait plus claire, visiblement non, lol. Bon eh bien ecoutes je vais continuer de creuser.. Si de ton coté tu as des révélations, bah n'hésites pas a m'en faire part, ca serait le top.. ;)
Je te remercie krysstof. ;)
Je te remercie krysstof. ;)
Je n'ai plus cette erreur, mais j'ai une autre question à vous soumettre. Je veux recupérer toutes les infos sur l'utilisateur qui est connecté.. Voilà ce que j'ai comme requête, mais bien entendu ca foire. C'est ma requête ou la syntaxe?!.
$query = "SELECT * FROM users where pseudo='$_SESSION['login']'";
$query = "SELECT * FROM users where pseudo='$_SESSION['login']'";
Krysstof
4 août 2010 à 14:48
- Messages postés
- 1483
- Date d'inscription
- mercredi 18 février 2009
- Statut
- Membre
- Dernière intervention
- 23 août 2010
4 août 2010 à 14:48
bah encore une fois,
"SELECT * FROM users where pseudo='".$_SESSION['login'].'";
tu as oublié la concaténation . et des guillemets
sinon pour etre sur des variables : print_r($_SESSION)
"SELECT * FROM users where pseudo='".$_SESSION['login'].'";
tu as oublié la concaténation . et des guillemets
sinon pour etre sur des variables : print_r($_SESSION)
Alain_42
4 août 2010 à 15:07
- Messages postés
- 5358
- Date d'inscription
- dimanche 3 février 2008
- Statut
- Membre
- Dernière intervention
- 13 février 2017
4 août 2010 à 15:07
petite rectif:
une " en trop après $_SESSION['login']
"SELECT * FROM users WHERE pseudo='".$_SESSION['login']."'";
une " en trop après $_SESSION['login']
Krysstof
4 août 2010 à 15:09
- Messages postés
- 1483
- Date d'inscription
- mercredi 18 février 2009
- Statut
- Membre
- Dernière intervention
- 23 août 2010
4 août 2010 à 15:09
oui merci, trop de copier coller tue les post :), je corrige
HostOfSeraphim
4 août 2010 à 16:21
- Messages postés
- 6746
- Date d'inscription
- jeudi 2 février 2006
- Statut
- Contributeur
- Dernière intervention
- 31 juillet 2016
4 août 2010 à 16:21
Dlw : place tes bouts de code dans les balises , stp, ça nous aiderait beaucoup au niveau de l'affichage des quotes et des guillets.
Dans les balises ??
Notice: Undefined variable: _SESSION in C:\Documents and Settings\toto\Bureau\MonDossier\Mapage.php on line 33
et à line 33 on a notre fameuse requête :
$query = "SELECT * FROM users WHERE pseudo= ' " . $_SESSION ['login'] . " ' " ;
Voila le code, j'ai mis l'erreur en gras histoire de la repérer plus vite.
<html>
<head>
<title></title>
</head>
<body>
<?php
//declaration de variable.
$video=$_POST['recherchevideo'];
//Connexion au serveur Mysql
$db=mysql_connect("localhost","login","pwd") or die ("erreur de connexion".mysql_error());
//Ouverture de la base de données
mysql_select_db("BDD",$db) or die ("erreur de connection à la bdd");
//Requête pour afficher les infos sur la video du numéro saisi.
$sql = "SELECT NumV, NomSupp, TitreV, DescriptifV, DateV, NomCat
FROM protagoniste, categorie, support, video,integrer
WHERE Numsupp = NumSuppV
AND NumCat = NumCatV
AND NumV = NumVIntegrer
AND NumProtaIntegrer = NumProta
AND NumV= '$video'";
// ==> C'est sur LA REQUETE SUIVANTE QUE CA PLANTE.
$query = "SELECT * FROM users WHERE pseudo= ' " . $_SESSION[ ' login ' ] . " ' " ;
//Requête de suppression de videos.
$sqlD = "delete from video
where NumV = '$video'";
if(isset($_post['toto']))
{
if($res['droits'] == 1)
{
$sqlDR = mysql_query($sqlD) or die ("erreur".mysql_error());
//Exécution de la requête.
$res = mysql_query($query) or die ("erreur".mysql_error());
// début du tableau
echo '<table border="1" width="50%" bgcolor="#FFFFFF" align="center">';
// première ligne on affiche les titres prénom et surnom dans 2 colonnes
echo '<tr>';
echo '<td bgcolor="#669999" align="center"><b>Numéro</b></td>';
echo '<td bgcolor="#669999" align="center"><b>Support</b></td>';
echo '<td bgcolor="#669999" align="center"><b>Titre</b></td>';
echo '<td bgcolor="#669999" align="center"><b>Descriptif</b></td>';
echo '<td bgcolor="#669999" align="center"><b>Date</b></td>';
echo '<td bgcolor="#669999" align="center"><b>Catégorie</b></td>';
echo '</tr>';
// lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.
while($row = mysql_fetch_array($sql))
{
echo '<tr>';
echo '<td bgcolor="#CCCCCC">'.$row['NumV'].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row['NomSupp'].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row['TitreV'].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row['DescriptifV'].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row['DateV'].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row['NomCat'].'</td>';
echo '</tr>';
}
// fin du tableau.
echo '</table>';
}
else
{
echo "Vous ne disposez pas des droits nécessaires à la suppression de vidéos";
echo "Contactez votre administrateur, ou redirigez vous ";
?>
<a href="MaPage.php">sur la page principale.</a>
<?php
}
}
?>
</body>
</html>
Notice: Undefined variable: _SESSION in C:\Documents and Settings\toto\Bureau\MonDossier\Mapage.php on line 33
et à line 33 on a notre fameuse requête :
$query = "SELECT * FROM users WHERE pseudo= ' " . $_SESSION ['login'] . " ' " ;
Voila le code, j'ai mis l'erreur en gras histoire de la repérer plus vite.
<html>
<head>
<title></title>
</head>
<body>
<?php
//declaration de variable.
$video=$_POST['recherchevideo'];
//Connexion au serveur Mysql
$db=mysql_connect("localhost","login","pwd") or die ("erreur de connexion".mysql_error());
//Ouverture de la base de données
mysql_select_db("BDD",$db) or die ("erreur de connection à la bdd");
//Requête pour afficher les infos sur la video du numéro saisi.
$sql = "SELECT NumV, NomSupp, TitreV, DescriptifV, DateV, NomCat
FROM protagoniste, categorie, support, video,integrer
WHERE Numsupp = NumSuppV
AND NumCat = NumCatV
AND NumV = NumVIntegrer
AND NumProtaIntegrer = NumProta
AND NumV= '$video'";
// ==> C'est sur LA REQUETE SUIVANTE QUE CA PLANTE.
$query = "SELECT * FROM users WHERE pseudo= ' " . $_SESSION[ ' login ' ] . " ' " ;
//Requête de suppression de videos.
$sqlD = "delete from video
where NumV = '$video'";
if(isset($_post['toto']))
{
if($res['droits'] == 1)
{
$sqlDR = mysql_query($sqlD) or die ("erreur".mysql_error());
//Exécution de la requête.
$res = mysql_query($query) or die ("erreur".mysql_error());
// début du tableau
echo '<table border="1" width="50%" bgcolor="#FFFFFF" align="center">';
// première ligne on affiche les titres prénom et surnom dans 2 colonnes
echo '<tr>';
echo '<td bgcolor="#669999" align="center"><b>Numéro</b></td>';
echo '<td bgcolor="#669999" align="center"><b>Support</b></td>';
echo '<td bgcolor="#669999" align="center"><b>Titre</b></td>';
echo '<td bgcolor="#669999" align="center"><b>Descriptif</b></td>';
echo '<td bgcolor="#669999" align="center"><b>Date</b></td>';
echo '<td bgcolor="#669999" align="center"><b>Catégorie</b></td>';
echo '</tr>';
// lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.
while($row = mysql_fetch_array($sql))
{
echo '<tr>';
echo '<td bgcolor="#CCCCCC">'.$row['NumV'].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row['NomSupp'].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row['TitreV'].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row['DescriptifV'].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row['DateV'].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row['NomCat'].'</td>';
echo '</tr>';
}
// fin du tableau.
echo '</table>';
}
else
{
echo "Vous ne disposez pas des droits nécessaires à la suppression de vidéos";
echo "Contactez votre administrateur, ou redirigez vous ";
?>
<a href="MaPage.php">sur la page principale.</a>
<?php
}
}
?>
</body>
</html>
Alain_42
4 août 2010 à 16:36
- Messages postés
- 5358
- Date d'inscription
- dimanche 3 février 2008
- Statut
- Membre
- Dernière intervention
- 13 février 2017
4 août 2010 à 16:36
il faut surtout mettre tout au début de ta page
<?php
session_start();
?>
<?php
session_start();
?>
Ah ok c'est vrai dsl, c'est pas clair..
Pcq en fait j'ai ca comme msg d'erreur.
Notice: Undefined variable: _SESSION in C:\Documents and Settings\toto\Bureau\MonDossier\Mapage.php on line 33
et à line 33 on a notre fameuse requête :
$query = "SELECT * FROM users WHERE pseudo='".$_SESSION['login']."'";
Mais c'est réglé, maintenant je pense que c'est ma boucle qui foire pcq mm quand l'util a "1" dans le champs "droits" de ma BDD, et il m'affiche
"Vous ne disposez pas des droits nécessaires à la suppression de vidéos
Contactez votre administrateur, ou redirigez vous sur la page principale."
Autrement dit, apparement il ne verifie pas si l'utilisateur connecté a les droits ou pas dans la boucle, ce passe directement au else. A voire, je vais jetter un oeil.
Merci a vous, et vos retours sont les bienvenus.
Pcq en fait j'ai ca comme msg d'erreur.
Notice: Undefined variable: _SESSION in C:\Documents and Settings\toto\Bureau\MonDossier\Mapage.php on line 33
et à line 33 on a notre fameuse requête :
$query = "SELECT * FROM users WHERE pseudo='".$_SESSION['login']."'";
Mais c'est réglé, maintenant je pense que c'est ma boucle qui foire pcq mm quand l'util a "1" dans le champs "droits" de ma BDD, et il m'affiche
"Vous ne disposez pas des droits nécessaires à la suppression de vidéos
Contactez votre administrateur, ou redirigez vous sur la page principale."
Autrement dit, apparement il ne verifie pas si l'utilisateur connecté a les droits ou pas dans la boucle, ce passe directement au else. A voire, je vais jetter un oeil.
Merci a vous, et vos retours sont les bienvenus.
Alain_42
Modifié par Alain_42 le 4/08/2010 à 17:30
- Messages postés
- 5358
- Date d'inscription
- dimanche 3 février 2008
- Statut
- Membre
- Dernière intervention
- 13 février 2017
Modifié par Alain_42 le 4/08/2010 à 17:30
if(isset($_post['toto']))
{
if($res['droits'] == 1)
{
$sqlDR = mysql_query($sqlD) or die ("erreur".mysql_error());
//Exécution de la requête.
$res = mysql_query($query) or die ("erreur".mysql_error());
erreurs dans cette partie:
post doit être en Majuscules
$_POST['toto']
c'est une variable php donc la casse est importante
ensuite tu fais le test if($res['droits'] == 1) AVANT de faire la requette qui lit les droits $res
{
if($res['droits'] == 1)
{
$sqlDR = mysql_query($sqlD) or die ("erreur".mysql_error());
//Exécution de la requête.
$res = mysql_query($query) or die ("erreur".mysql_error());
erreurs dans cette partie:
post doit être en Majuscules
$_POST['toto']
c'est une variable php donc la casse est importante
ensuite tu fais le test if($res['droits'] == 1) AVANT de faire la requette qui lit les droits $res
if(isset($_POST['toto'])) { $res = mysql_query($query) or die ("erreur".mysql_error()); if($res['droits'] == 1) { //Exécution de la requête delete $sqlDR = mysql_query($sqlD) or die ("erreur".mysql_error()); ........