Problem mit einfügen von Variablen in Datenbank

bandsite

Mitglied
Hi,
habe ein Problem mit dem einfügen von Daten in eine MySQL Datenbank.

Das funktioniert nicht:
PHP:
$insertion = "INSERT INTO files_music (filename, titel, interpret, album) VALUES ('./$target_dir$name', '$title', '$artist', '$album')"
;aner das funktioniert:
PHP:
$insertion = "INSERT INTO files_music (titel) VALUES ('$title')"
Woran liegt das ? ... einzelne Vairiablen kann ich problemlos in die Datenbank schreiben aber wenn ich versuche einen ganzen Datensatz auf einmal reinzubringen passiert nichts.

Die Meldung per echo mysql_error(); :

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 'Ame Immortelle', 'Brennende Liebe - Limited Edit')' at line 1

Warum Line 1? - Die SQL Anweisungen stehen im Script ab Line 121.

Wenn ich die Quotes invertiere also:
PHP:
$insertion = 'INSERT INTO files_music (filename, titel, interpret, album) VALUES ("./$target_dir$name", "$title", "$artist", "$album")';
schreibe, funktioniert es, allerdings landen dann nicht die Inhalte der Variablen sonder die Variablennamen selbst in der Datenbank.

Ich wäre echt dankbar für ´nen Tipp.
Danke, BandSite
 
Zuletzt bearbeitet:
Probier es mal so:

Code:
$insertion = "INSERT INTO files_music (filename, titel, interpret, album) VALUES ('"../$target_dir$name."', '".$title."', '".$artist."', '".$album."';)";

Wobei ich mir mit dem Ersten nicht sicher bin, ob das so hinhaut. Die anderen 3 sollten aber gehen.
 
Danke! ... war fast richtig, ein wenig musste ich noch experimentieren aber du hast mir weitergeholfen, so ist es richtig:
Code:
$insertion = 'INSERT INTO files_music (filename, titel, interpret, album) VALUES ("./'.$target_dir.$name.'", "'.$info[title].'", "'.$info[artist].'", "'.$info[album].'")';
Nun habe ich wieder ein anderes Problem:
PHP:
$to_kill = "DELETE * FROM songs WHERE ALBUM_TITLE = '$album' AND SONG_TITLE = '$song'";
Ich erhalte diese Fehlermeldung:
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 '* FROM songs WHERE ALBUM_TITLE = 'The Great Southern Trendkill' AND SONG_TITLE =' at line 1

Wenn ich dagegen nur eine WHERE Anweisung verwende:
PHP:
$to_kill = "DELETE * FROM songs WHERE ALBUM_TITLE = '$album';
gibt´s keine Probleme.

//edit: Okay, hat sich erledigt ... der Stern muss natürlich da weg.
Danke, BandSite
 
Zuletzt bearbeitet:
Zurück