Problem med ' eller single quote og LIKE i MySql select
Dette er faktisk ikke et spørgsmål, men mere info som jeg tænkte ville være nyttigt for andre.Jeg havde et problem med en MySql select som her:
select * FROM kro WHERE navn LIKE '%Peter\'s Inn'
ikke får nogen hits, men
select * FROM kro WHERE navn LIKE '%\'s Inn'
finder Peter's Inn
Så snart der er bare et bogstav foran \' giver det nul hits
Men der er en work-around:
select * FROM kro WHERE navn LIKE '%Peter%\'s Inn'
Den finder Peter's Inn
Min php kode ser således ud:
$seeqit=addslashes($seeqfast); // det er indholdet i $seekfast der skal søges efter
$like = "%".str_replace("\'","%\'",$seeqit)."%"; // indsæt et ekstra % forand \'
$sql="select * from kro where navn LIKE '$like'"; // mySql kommando
Håber at det kan hjælpe en eller anden!
Mvh. Lars