| 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 |