Brug af '-tegnet i brugerinput
Jeg sidder og arbejder på min hjemmeside og har i den forbindelse flere forskellige steder hvor brugerne kan indtaste data (kommentarbokse, gæstebog, kalender og lign.), hvilket jeg har lavet mange gange før. Jeg er dog først lige i dag blevet opmærksom på et problem med den måde jeg skriver data ind i min database på. Jeg bruger en MySQL query og har altså eksempelvis en linje der ser således ud:mysql_query("INSERT INTO calendar (day, month, year, headline, description) VALUES ('$day', '$month', '$eventYear', '$eventHead', '$eventDesc')") or die('error making query');
Det fungerer også fint nok i langt de fleste tilfælde, men der kommer et problem så snart brugerne skriver tegnet ' i deres input. Gør de dette får jeg en "error making query" fejl, hvilket jo må skyldes at '-tegnet ødelægger min query og dermed gør kaldet ugyldigt. Jeg har også brugt formatet hvor jeg skriver VALUES (". $day .", ". $month .", osv., men problemet er det samme. Hvad gør man for at undgå denne fejl?
P.S.: Jeg beklager hvis dette spørgsmål skulle have været postet under MySQL, men tænkte at problemet måske kunne løses med en PHP-funktion der indsatte et \ foran alle forekomster af '. Ville det virke?