Salut a tous,
J'ai un petit probleme avec un SELECT que j'arrive pas trop a comprendre :
1) j'ai cette table :
1 2 3 4 5 6 7 8 9 10
| CREATE TABLE `tbl_immeubles` (
`id_immeubles` int(10) unsigned NOT NULL auto_increment,
`ref` varchar(25) collate latin1_general_ci NOT NULL default '',
`id_lieu` tinyint(255) unsigned NOT NULL default '0',
`id_cat` tinyint(255) unsigned NOT NULL default '0',
`prix` decimal(11,2) unsigned NOT NULL default '0.00',
`descriptif` text collate latin1_general_ci NOT NULL,
`titre` varchar(100) collate latin1_general_ci NOT NULL default '',
PRIMARY KEY (`id_immeubles`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=119 ; |
2) j'ai une variable que je recupere en php par $_GET
1 2
| if(isset($_GET['ref'])) $ref=$_GET['ref'];
else $ref=""; |
3) et ce SELECT :
$select= 'SELECT t1.ref, t1.id_lieu, t1.prix, t1.descriptif, t1.titre, t2.id_lieu, t2.lieu FROM tbl_immeubles AS t1, tbl_lieu AS t2 WHERE t1.id_lieu = t2.id_lieu AND t1.ref='.$ref ;
le probleme: tant que $ref renvoie une valeur numerique ca fonctionne tres bien, mais des que, par exemple $ref=PAJ, j'ai une erreur SQL qui me dit
Erreur : Unknown column 'PAJ' in 'where clause'
j'ai bien essayé :
SELECT t1.ref, etc... AND CONCAT(t1.ref) ='.$ref;
ou
1 2
| if(isset($_GET['ref'])) $ref=strval($_GET['ref']);
else $ref=""; |
ou encore
SELECT t1.ref,.... etc .....AND CONCAT(t1.ref) ='.strval($ref);
mais ca marche pas non plus (meme erreur)
pour l'instant je tourne en local avec easy php 1.8 (MySQL 4.1.9), j'avais fait plein de test hier soir (malheureusement que sur des nombres) ca passait nickel, je finis mon code php tout a l'heure, et en fignolant le html avant l'upload, j'essaie avec une reference alpha... patatra ca passe pas ...
quelqu'un a une idée svp ?
merci d'avance
Partager