Thread Previous • Date Previous • Date Next • Thread Next |
Birger Langkjer wrote:
Jeg har noget kode, der ser sådan ud: if($tekst_soeg){ $tekst_soeg_h = htmlentities($tekst_soeg); $db = mysql_connect("localhost", "root"); mysql_select_db("database",$db); $foresp = mysql_query("SELECT ArtikelID,Overskrift,Forfatter FROM Artikel WHERE Tekst LIKE '%$tekst_soeg_h%' ORDER BY Overskrift ",$db); echo mysql_num_rows($foresp) . " artikler fundet, hvor teksten \"" . $tekst_soeg_h . "\" forekommer.</p>"; Problemet er, at jeg gerne vil have Mysql til at søge på både $tekst_soeg og $tekst_soeg_h. Jeg har problemet at skrive LIKE '%$tekst_soeg_h%' AND LIKE '%$tekst_soeg%' men det virker ikke. Skal jeg lave en UNION istedet?
du skal nok bruge "WHERE Tekst LIKE '%$tekst_soeg_h%' AND Tekst LIKE '%$tekst_soeg%'"- syntaxen tillader ikke automatisk henføring til feltet "Tekst" fra flere betingelser. MySQL burde give dig en advarsel om syntaxbrud.
Jeg har prøvet det af i mysql (konsolinterfacet) på en kundeliste jeg havde med flg. resultat:
select * from kundfil where kundenavn like "%a%" and kundenavn like "%er%"; finder f.eks. "Acer" og "ABB Lindberg" mensselect * from kundfil where kundenavn like "%a%" and like "%er%"; (feltnavn mangler i 2. betingelse) giver
ERROR 1064: You have an error in your SQL syntax near 'like "%er%"' at line 1
MVH -- ==================================================================== Jon Svejgaard | ACE - UNIX/Linux Consultancy | Hjorthoejvej 2 / DK-4291 Ruds Vedby mail: jon@xxxxxx | DENMARK http://www.ace.dk | +45 5826 1799 / +45 4052 0799 ====================================================================
Thread Previous • Date Previous • Date Next • Thread Next |