Problème SQL
Absot
Messages postés
819
Statut
Membre
-
ThEBiShOp Messages postés 9307 Date d'inscription Statut Contributeur Dernière intervention -
ThEBiShOp Messages postés 9307 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour, je me suis créé une base de données SQL pour un TP où je dois pouvoir soit y ajouter un fil soit y en supprimer seulement dans les 2 cas, j'ai une erreur.. :/
Dans le cas où j'ajoute un film, je remplie les champs necessaires (nom du film, année de sortie, résumé, photo et genre) et quand je clique sur "ajouter", j'ai la phrase You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INSER INTO Film values('49','ppppp','1924','1','ppppppppppppp','pppp')' at line 1.
Dans le cas où je supprime un film, je choisie le film à supprimer et après avoir appuyé sur supprimer, j'ai le message No database selected.
Pourtant je me connecte bien à la base de données SQL donc je suis un peu perdu...
Je mets mon code de la page qui traite tout ça:
----------------------------------------------------------------------------------------------------------------------
<html>
<body>
<?php
include("menu.html");
$page = $_REQUEST['page'];
/* connexion au serveur MySql
remplacer localhost pr l'IP du serveur
ensuite renseigner le login et le mot de passe*/
$connexion = mysql_connect("172.16.0.177","???","???") or die("Connexion impossible au serveur");
switch ($page){
case Ajouter:
$titre = $_POST['titre'];
$photo = $_POST['photo'];
$resume = $_POST['resume'];
$annee = $_POST['annee'];
$genre = $_POST['genre'];
$query = "INSER INTO Film values('49','$titre','$annee','$genre','$resume','$photo');";
/* execution de la requete */
$result = mysql_query($query) or die(mysql_error());
echo "Le film $titre a été ajouté à la base de données";
echo $query;
echo "<br/>.$result";
echo"<a href='ajout.php'>Retour</a>";
break;
case Supprimer:
$titre = $_POST['titre'];
$query = "DELETE FROM Film WHERE titre = '$titre'";
/* execution de la requete */
$result = mysql_query($query) or die(mysql_error());
echo "Le film $titre a été supprimé de la base de données";
echo "<br/> $result";
break;
echo "<br/>.$query";
echo "<br/>.$result";
}
?>
</body>
</html>
----------------------------------------------------------------------------------------------------------------------
Dans le cas où j'ajoute un film, je remplie les champs necessaires (nom du film, année de sortie, résumé, photo et genre) et quand je clique sur "ajouter", j'ai la phrase You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INSER INTO Film values('49','ppppp','1924','1','ppppppppppppp','pppp')' at line 1.
Dans le cas où je supprime un film, je choisie le film à supprimer et après avoir appuyé sur supprimer, j'ai le message No database selected.
Pourtant je me connecte bien à la base de données SQL donc je suis un peu perdu...
Je mets mon code de la page qui traite tout ça:
----------------------------------------------------------------------------------------------------------------------
<html>
<body>
<?php
include("menu.html");
$page = $_REQUEST['page'];
/* connexion au serveur MySql
remplacer localhost pr l'IP du serveur
ensuite renseigner le login et le mot de passe*/
$connexion = mysql_connect("172.16.0.177","???","???") or die("Connexion impossible au serveur");
switch ($page){
case Ajouter:
$titre = $_POST['titre'];
$photo = $_POST['photo'];
$resume = $_POST['resume'];
$annee = $_POST['annee'];
$genre = $_POST['genre'];
$query = "INSER INTO Film values('49','$titre','$annee','$genre','$resume','$photo');";
/* execution de la requete */
$result = mysql_query($query) or die(mysql_error());
echo "Le film $titre a été ajouté à la base de données";
echo $query;
echo "<br/>.$result";
echo"<a href='ajout.php'>Retour</a>";
break;
case Supprimer:
$titre = $_POST['titre'];
$query = "DELETE FROM Film WHERE titre = '$titre'";
/* execution de la requete */
$result = mysql_query($query) or die(mysql_error());
echo "Le film $titre a été supprimé de la base de données";
echo "<br/> $result";
break;
echo "<br/>.$query";
echo "<br/>.$result";
}
?>
</body>
</html>
----------------------------------------------------------------------------------------------------------------------
A voir également:
- Problème SQL
- Logiciel sql - Télécharger - Bases de données
- Requete sql pix ✓ - Forum MySQL
- Sql lister les tables ✓ - Forum Programmation
- Récupération serveur sql - Télécharger - Gestion de données
- Migration base access vers sql server - Télécharger - Gestion de données
7 réponses
Pour le problème PHP vous n'avez pas sélectionné la base de données :
mysql_select_db("nom base");
Pour l'INSERT il me faudrait la structure de votre table s'il vous plaît (surtout le type des champse)
mysql_select_db("nom base");
Pour l'INSERT il me faudrait la structure de votre table s'il vous plaît (surtout le type des champse)
Je viens de me connecter à ma base SQL pour le cas "supprimer" et il se connecte bien, seulement, il me met bien le message comme quoi le film a été supprimé mais quand je vérifie avec tout les films, il est toujours là... :/
Sinon voici mon fichier SQL, je ne mets que quelques exemples pour chaque table parce qu'elle est assez grande:
----------------------------------------------------------------------------------------------------------
# Database : `films`
# --------------------------------------------------------
#
# Table structure for table `Artiste`
#
DROP TABLE IF EXISTS Artiste;
CREATE TABLE Artiste (
idActeur int(11) NOT NULL PRIMARY KEY auto_increment,
nom varchar(30) NOT NULL default '',
prenom varchar(30) NOT NULL default '',
anneeNaiss int(11) default NULL
) ;
#
# Dumping data for table `Artiste`
#
INSERT INTO Artiste VALUES (6, 'Cameron', 'James', 1954);
INSERT INTO Artiste VALUES (3, 'Hitchcock', 'Alfred', 1899);
INSERT INTO Artiste VALUES (4, 'Scott', 'Ridley', 1937);
INSERT INTO Artiste VALUES (5, 'Weaver', 'Sigourney', NULL);
# --------------------------------------------------------
#
# Table structure for table `Film`
#
DROP TABLE IF EXISTS Film;
CREATE TABLE Film (
idfilm int(11) NOT NULL PRIMARY KEY auto_increment,
titre varchar(50) NOT NULL default '',
annee int(11) NOT NULL default '0',
idGenre int(11) NOT NULL default '1' references Genre(id),
resume text,
photo varchar(50) NOT NULL default ''
) ;
#
# Dumping data for table `Film`
#
INSERT INTO Film VALUES (1,'Vertigo', 1958, 2, 'Scottie Ferguson, ancien inspecteur de police, est sujet au vertige depuis qu\'il a vu mourir son\r\n collègue. Elster, son ami, le charge de surveiller sa femme, Madeleine, ayant des tendances\r\n suicidaires. Amoureux de la jeune femme Scottie ne remarque pas le piège qui se trame autour\r\n de lui et dont il va être la victime... ','vertigo.gif');
INSERT INTO Film VALUES (2,'Titanic', 1997, 6, 'Conduite par Brock Lovett, une expédition américaine fouillant l\'épave du Titanic remonte à la\r\n surface le croquis d\'une femme nue. Alertée par les médias la dame en question, Rose DeWitt\r\n Bukater, aujourd\'hui centenaire, rejoint les lieux du naufrage, d\'où elle entreprend de conter le\r\n récit de son fascinant, étrange et tragique voyage... ','titanic.jpg');
INSERT INTO Film VALUES (3,'1492',1996,1,'Evocation de la vie de l\'homme qui decouvrit le continent americain','1492.jpg');
# --------------------------------------------------------
#
# Table structure for table `Genre`
#
DROP TABLE IF EXISTS Genre;
CREATE TABLE Genre (
id int(11) NOT NULL PRIMARY KEY auto_increment,
nomGenre varchar(100) NOT NULL default ''
) ;
#
# Dumping data for table `Genre`
#
INSERT INTO Genre VALUES (1, 'Histoire');
INSERT INTO Genre VALUES (2, 'Policier');
INSERT INTO Genre VALUES (3, 'Animation');
INSERT INTO Genre VALUES (4, 'Fantastique');
INSERT INTO Genre VALUES (5, 'Comedie');
INSERT INTO Genre VALUES (6, 'Drame');
# --------------------------------------------------------
#
# Table structure for table `Role`
#
DROP TABLE IF EXISTS Role;
CREATE TABLE Role (
idfilm int(11) default '0' references Film(idfilm),
idActeur int(11) NOT NULL default '0' references Artiste(idActeur) ,
nomRole varchar(30) default NULL ,
PRIMARY KEY (idfilm,idActeur)
) ;
#
# Dumping data for table `Role`
#
INSERT INTO Role VALUES (7, 19, 'Carolyn Burnham');
INSERT INTO Role VALUES (7, 18, 'Lester Burnham');
INSERT INTO Role VALUES (47, 5, 'Ripley');
INSERT INTO Role VALUES (2, 110, 'Jack Dawson');
INSERT INTO Role VALUES (4, 11, 'Sean Archer/Castor Troy');
INSERT INTO Role VALUES (6, 14, 'Constable Ichabod Crane');
# --------------------------------------------------------
----------------------------------------------------------------------------------------------------------
Merci de votre aide
Sinon voici mon fichier SQL, je ne mets que quelques exemples pour chaque table parce qu'elle est assez grande:
----------------------------------------------------------------------------------------------------------
# Database : `films`
# --------------------------------------------------------
#
# Table structure for table `Artiste`
#
DROP TABLE IF EXISTS Artiste;
CREATE TABLE Artiste (
idActeur int(11) NOT NULL PRIMARY KEY auto_increment,
nom varchar(30) NOT NULL default '',
prenom varchar(30) NOT NULL default '',
anneeNaiss int(11) default NULL
) ;
#
# Dumping data for table `Artiste`
#
INSERT INTO Artiste VALUES (6, 'Cameron', 'James', 1954);
INSERT INTO Artiste VALUES (3, 'Hitchcock', 'Alfred', 1899);
INSERT INTO Artiste VALUES (4, 'Scott', 'Ridley', 1937);
INSERT INTO Artiste VALUES (5, 'Weaver', 'Sigourney', NULL);
# --------------------------------------------------------
#
# Table structure for table `Film`
#
DROP TABLE IF EXISTS Film;
CREATE TABLE Film (
idfilm int(11) NOT NULL PRIMARY KEY auto_increment,
titre varchar(50) NOT NULL default '',
annee int(11) NOT NULL default '0',
idGenre int(11) NOT NULL default '1' references Genre(id),
resume text,
photo varchar(50) NOT NULL default ''
) ;
#
# Dumping data for table `Film`
#
INSERT INTO Film VALUES (1,'Vertigo', 1958, 2, 'Scottie Ferguson, ancien inspecteur de police, est sujet au vertige depuis qu\'il a vu mourir son\r\n collègue. Elster, son ami, le charge de surveiller sa femme, Madeleine, ayant des tendances\r\n suicidaires. Amoureux de la jeune femme Scottie ne remarque pas le piège qui se trame autour\r\n de lui et dont il va être la victime... ','vertigo.gif');
INSERT INTO Film VALUES (2,'Titanic', 1997, 6, 'Conduite par Brock Lovett, une expédition américaine fouillant l\'épave du Titanic remonte à la\r\n surface le croquis d\'une femme nue. Alertée par les médias la dame en question, Rose DeWitt\r\n Bukater, aujourd\'hui centenaire, rejoint les lieux du naufrage, d\'où elle entreprend de conter le\r\n récit de son fascinant, étrange et tragique voyage... ','titanic.jpg');
INSERT INTO Film VALUES (3,'1492',1996,1,'Evocation de la vie de l\'homme qui decouvrit le continent americain','1492.jpg');
# --------------------------------------------------------
#
# Table structure for table `Genre`
#
DROP TABLE IF EXISTS Genre;
CREATE TABLE Genre (
id int(11) NOT NULL PRIMARY KEY auto_increment,
nomGenre varchar(100) NOT NULL default ''
) ;
#
# Dumping data for table `Genre`
#
INSERT INTO Genre VALUES (1, 'Histoire');
INSERT INTO Genre VALUES (2, 'Policier');
INSERT INTO Genre VALUES (3, 'Animation');
INSERT INTO Genre VALUES (4, 'Fantastique');
INSERT INTO Genre VALUES (5, 'Comedie');
INSERT INTO Genre VALUES (6, 'Drame');
# --------------------------------------------------------
#
# Table structure for table `Role`
#
DROP TABLE IF EXISTS Role;
CREATE TABLE Role (
idfilm int(11) default '0' references Film(idfilm),
idActeur int(11) NOT NULL default '0' references Artiste(idActeur) ,
nomRole varchar(30) default NULL ,
PRIMARY KEY (idfilm,idActeur)
) ;
#
# Dumping data for table `Role`
#
INSERT INTO Role VALUES (7, 19, 'Carolyn Burnham');
INSERT INTO Role VALUES (7, 18, 'Lester Burnham');
INSERT INTO Role VALUES (47, 5, 'Ripley');
INSERT INTO Role VALUES (2, 110, 'Jack Dawson');
INSERT INTO Role VALUES (4, 11, 'Sean Archer/Castor Troy');
INSERT INTO Role VALUES (6, 14, 'Constable Ichabod Crane');
# --------------------------------------------------------
----------------------------------------------------------------------------------------------------------
Merci de votre aide
Je viens d'enlever les '' pour l'insertion et j'ai toujours le message d'erreur... :/
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INSER INTO Film values(49,'ppppp',1938,1,'ppppppppppppp','pppp')' at line 1
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INSER INTO Film values(49,'ppppp',1938,1,'ppppppppppppp','pppp')' at line 1
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question