Erreur à l'extraction de multi-table
Posté : 07 mars 2008, 19:35
Code : Tout sélectionner
CREATE TABLE `carnet_contact` (
`id_contact` smallint(6) NOT NULL auto_increment,
`titre` varchar(10) NOT NULL,
`nom` varchar(40) NOT NULL,
`prenom` varchar(40) NOT NULL,
`denomination` varchar(30) NOT NULL,
`num_rue` varchar(10) NOT NULL,
`rue` varchar(30) NOT NULL,
`quartier` varchar(150) NOT NULL,
`cp` varchar(20) NOT NULL,
`ville` varchar(70) NOT NULL,
`pays` varchar(70) NOT NULL,
`day` varchar(20) NOT NULL,
`mois` varchar(20) NOT NULL,
`annee` varchar(10) NOT NULL,
`remarque` text NOT NULL,
PRIMARY KEY (`id_contact`),
UNIQUE KEY `id_contact` (`id_contact`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=latin1;
CREATE TABLE `carnet_histo` (
`id_histo` smallint(6) NOT NULL,
`util_histo` varchar(40) NOT NULL,
`date` date NOT NULL,
`ip_histo` varchar(30) NOT NULL,
PRIMARY KEY (`id_histo`),
CONSTRAINT `carnet_histo_ibfk_1` FOREIGN KEY (`id_histo`) REFERENCES `carnet_contact` (`id_contact`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1
CREATE TABLE `carnet_tel` (
`id_tel` smallint(6) NOT NULL,
`fixe_1` varchar(20) NOT NULL,
`fixe_2` varchar(20) NOT NULL,
`port_1` varchar(20) NOT NULL,
`port_2` varchar(20) NOT NULL,
`fax` varchar(20) NOT NULL,
`ind_num` varchar(10) NOT NULL,
`mail_1` varchar(100) NOT NULL,
`mail_2` varchar(100) NOT NULL,
`web_1` varchar(150) NOT NULL,
`web_2` varchar(150) NOT NULL,
PRIMARY KEY (`id_tel`),
CONSTRAINT `carnet_tel_ibfk_1` FOREIGN KEY (`id_tel`) REFERENCES `carnet_contact` (`id_contact`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Bonjour à tous,
j'ai un petit soucis, qui je que je n'arrive pas à résoudre malgré un bon moment de recherche. J'ai deux tables liées par "id_contact" et "id_tel"dont je voudrais extraire juste certaines données lié.
$nom = $_POST['nom'];
mysql_select_db($database_connect_base, $connect_base);// sélection de la base
$sql_extraire_liste = "SELECT c.id_contact, c.nom, c.prenom, c.ville, t.fixe_1 FROM carnet_contact AS c, carnet_tel AS t WHERE c.id_contact=t.id_tel, nom LIKE'$nom' ORDER BY c.nom,c.prenom";
$req_extraire_liste = mysql_query($sql_extraire_liste) or die('Erreur SQL !'.$sql_extraire_liste.'<br />'.mysql_error());
$resultat_extrait = mysql_num_rows($req_extraire_liste);
$nombre_de_reponse = $resultat_extrait;
Et voila l'erreur que cela provoque:Code : Tout sélectionner
Erreur SQL !SELECT c.id_contact, c.nom, c.prenom, c.ville, t.fixe_1 FROM carnet_contact AS c, carnet_tel AS t WHERE c.id_contact=t.id_tel, nom LIKE'toto' ORDER BY c.nom,c.prenom
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 ' nom LIKE'toto' ORDER BY c.nom,c.prenom' at line 1Merci pour vos explications et de votre aide.