[PHP & MSSQL] Like '%

Pagina: 1
Acties:

Onderwerpen


  • Majestic
  • Registratie: December 1999
  • Laatst online: 22-01-2024

Majestic

Neerlandici.

Topicstarter
Ik gebruik de volgende query in een klein zoekmachine'tje op een MS SQL Server

PHP:
1
$query="SELECT * FROM intern_help WHERE inhoud, titel LIKE '%".$_POST["zoek"]."%','%".$_POST["zoek"]."%'";


De zoekcriteria worden bekeken in de inhoud van berichten en in de titels.
Er zit echter een stukje incorrecte syntax in deze code. Op het punt waar de waarden gescheiden worden met een komma in het LIKE commando.

Dit werkt wel:
PHP:
1
'%".$_POST["zoek"]."%'


Dit niet:
PHP:
1
'%".$_POST["zoek"]."%','%".$_POST["zoek"]."%'";


Ik kan alleen mijn fout niet ontdekken.

Je brengt me helemaal van mijn abrikoos.


  • whoami
  • Registratie: December 2000
  • Laatst online: 14:51
Wat is niet werken?
Als je een kolom met meerdere waarden wilt vergelijken, moet je die waarden niet comma-separated doorgeven, maar moet je het zo doen:
code:
1
2
3
WHERE omschr LIKE 'blaat%' 
OR omschr LIKE 'melp%'
OR omschr LIKE 'boe%'

https://fgheysels.github.io/


  • P_de_B
  • Registratie: Juli 2003
  • Niet online
En als je meerdere kolommen wilt vergelijken moet je

code:
1
WHERE kol1 LIKE '%FOO%' OR kol2 LIKE 'BLAAT'


Je kunt niet in een keer meerdere kolommen vergelijken
Je kunt eventueel met OR en AND en haakjes gaan werken

code:
1
WHERE (Geslacht = 'M' AND Haarkleur = 'Blond') OR Geslacht = 'V'


voor alle mannen met blond haar EN alle vrouwen, ongeacht de haarkleur.

Als je flexibeler wilt zijn met zoeken op tekst zou je kunnen overwegen FREETEXT indexing aan te zetten (kijk maar eens in BOL)

[ Voor 21% gewijzigd door P_de_B op 11-12-2003 09:38 . Reden: toevoeging freetext ]

Oops! Google Chrome could not find www.rijks%20museum.nl


  • Majestic
  • Registratie: December 1999
  • Laatst online: 22-01-2024

Majestic

Neerlandici.

Topicstarter
Moet de kolommen eerst genummerd worden voor dat ik kol1 , kol2 etc. aanroep?

Je brengt me helemaal van mijn abrikoos.


  • FlowinG
  • Registratie: Maart 2003
  • Laatst online: 09:30
nee het is alleen voorbeeld

  • DizzyWeb
  • Registratie: Februari 2001
  • Laatst online: 05-09 14:30

DizzyWeb

Ondertiteld

Majestic schreef op 11 december 2003 @ 10:17:
Moet de kolommen eerst genummerd worden voor dat ik kol1 , kol2 etc. aanroep?
Nee, dat is alleen maar om 2 verschillende kolommen aan te duiden. Had net zo goed blaat en bloep kunnen zijn ipv kol1 en kol2.

  • Majestic
  • Registratie: December 1999
  • Laatst online: 22-01-2024

Majestic

Neerlandici.

Topicstarter
Fixed.

Je brengt me helemaal van mijn abrikoos.


  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
Post je eind-oplossing dan ook ff ;) Altijd handig voor mensen die de search gebruiken...

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info

Pagina: 1