• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Insert Into Problem

ineedmusic

Neues Mitglied
Hallo :)
Ich möchte eigentlich einfach nur ein paar Daten in meine Datenbank schreiben.
Mache ich das über emma (MySQL Programm für Linux) funktioniert das auch.
Code:
INSERT INTO releases (catalog, tracks, name, ...) VALUES ("aa", "3", "bb", ...)
Über PHP bleibt die Datenbank allerdings leer.
Das Connecten muss eigentlich funktionieren, jedenfalls bekomme ich kein "Connection failed!".
PHP:
mysql_connect("localhost","root","...PW...") or die ("Connection failed!");
mysql_select_db("bp") or die ("Connection failed!");

PHP:
mysql_query("INSERT INTO releases (catalog, tracks, name, ...) VALUES (".$catalog[1].",  ".$track_counter[1].", ".$rls[1].",...)");
Hier müsste eigentlich der Fehler liegen, aber auch mit dem oben benutzen Query funktioniert es nicht. Der Rest des Scripts läuft einwandfrei durch nur das schreiben in die Datenbank funktioniert nicht.
Woran könnte das liegen?
MfG Music!
 
Jetzt kommt Asterixus gleich wieder mit den mysqli-Erweiterungen, aber ich versaus ihm :-P.

Pack' mal die Abfrage in eine Variable und lass' sie dir per var_dump() ausgeben.
Was hat es eigentlich mit den Array-Indizierungen hinter den Variablen auf sich?

Nils aka XraYSoLo
 
Ich habe mir angewöhnt, die SQL-Statements immer erstmal in einer Variablen zusammenzusetzen, und dann das query mit der Variablen aufzurufen. Das hat den Vorteil, dass man sich im Fehlerfall, das Query ausgeben zu lassen. Dann sollte man sich im Fehlerfall auch den Fehler ausgeben lassen. Könnte z.B. bei Dir so aussehen.
PHP:
$sql = "INSERT INTO releases (catalog, tracks, name) VALUES (".$catalog.", ".$track.", ".$rls.";)";
mysql_query($sql) or die ("MYSQL-FEHLER: ".mysql_error()."<br>SQL = ".$sql);
 
Erstmal danke für die schnellen Antworten. :)
Was hat es eigentlich mit den Array-Indizierungen hinter den Variablen auf sich?
Regular Expressions...
PHP:
$c=file_get_contents($url);
preg_match("/data-title=\"(.*?)\[.*?\]\"/s", $c, $rls);
Ist z.B. mein $rls[1].


Hab das SQL jetzt in die Variable $sql geschrieben.
var_dump()=string(177) "INSERT INTO releases (catalog, tracks, name, label_id, img) VALUES (DUBSTAR043, 3, The Swarm, Dubstar, link)"

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 'Swarm, Dubstar, link

Ich sehe nach wie vor keinen Fehler. :/
 
Also wenn Du Zeichenketten als Values hast, dann sollten die schon in Hochkommas stehen, zumal wenn da noch Leerzeichen in dem String sind.
 
Zurück
Oben