gon: Perl/MySQL Apostroph Problem

Beitrag lesen

Hallo zusammen,

ich versuche meine MP3 Sammlung mit Hilfe eines Perl Scripts (MP3::Tag) in eine MySQL Datenbank einzulesen. Das ganze klappt soweit sehr gut, es gibt nur ein Problem.

Ich speichere die einzelnen MP3Tags in Variablen und füge am Anfang und am Ende jeweils ein Apostroph hinzu, damit ich die Werte anschließend in die Datenbank schreiben kann. Wenn jetzt ein Tag selbst ein Apostroph beinhaltet (z.b. title= Don't Cry) erkennt MySQL dieses natürlich als das Ende des String und schneidet hier ab. Das ganze endet dann in einem SQL Syntax Error. Der Datentyp des SQL-Feldes ist VARCHAR.

Hat jemand eine Idee, wie ich der Datenbank klarmachen kann wo der Sting eigentlich aufhört?

Danke für eure Hilfe Gruß, gon

Code Beispiel: ... ($title, $track, $artist) = $mp3->autoinfo(); ... $artist = "'$artist'"; $title = "'$title'"; $track = "'$track'"; ...

Fehler: DBD::mysql::st execute failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 't Say It's Over' and track = '04' and year = '1994'' at line 1



OS: Windows XP Perl: 5.10.0.1003 MySQL: 5.0.51b-community-nt