MySQL Insert-Statement erzeugt SQLSTATE[HY000]: General error
Bernhard12
- datenbank
0 cross0 Bernhard120 dedlfix0 Bernhard120 Bernhard12
0 cross
Hallo!
Ich habe ein ganz merkwürdiges Problem: Auf meinem Localhost mit MySQL 5.1.36 läuft folgendes Skript problemlos:
$query = "INSERT INTO
table (
key1,
key2) VALUES (1,2)";
Wobei die Values dynamisch mit php reingeschrieben werden und die Datenbankabfrage über das Zend-Adapter geschieht.
Auf meinem Webserver mit dem identischen Skript, der identischen Datenbank (gleiches sql-File importiert) und MySQL 5.1.37 gibt es diese Fehlermeldung:
SQLSTATE[HY000]: General error
Wobei (und das ist imho sehr merkwürdig) das erste INSERT immer funktioniert und danach nichts mehr geht.
Ich habe jetzt schon studenlang Foren und Suchmaschinen durchsucht und versucht alle Fehlerquellen auszumachen, aber weiß jetzt einfach nicht mehr weiter.
Ich würde mich sehr freuen, wenn mir jemand helfen könnte. Vielen Dank.
Hallöchen auch,
SQLSTATE[HY000]: General error
Was für eine Fehlernummer steht hinter "Genaral error"?
Wobei (und das ist imho sehr merkwürdig) das erste INSERT immer funktioniert und danach nichts mehr geht.
Zeig mal den Code, wo das verarbeitet wird.
MfG
cross
Leider wird als Fehlernummer 0 angegeben. Ausgabe direkt so:
SQLSTATE[HY000]: General error 0
php-Code hier:
foreach($arrIds as $arrId){
$query = "INSERT INTO `table` (`key1`,`key2`) VALUES (".(int)$id.",".(int)$arrId.")";
$adapter->fetchAll($query);
}
Hi!
foreach($arrIds as $arrId){
$query = "INSERT INTO
table
(key1
,key2
) VALUES (".(int)$id.",".(int)$arrId.")";
$adapter->fetchAll($query);
}
Ein Insert-Statement liefert nichts, was man fetchen kann. Da muss es eine besser geeignete Methode für solche ergebnismengenlosen Querys geben. Zusem freute es die Performance, wenn du ein Multi-Insert erstelltest und nicht tausend einzelne.
Lo!
Hmm, aber auf meinem lokalen wamp-Server läuft's doch auch...
Multi-Inserts deshalb nicht, weil wenn ein Fehler bei einem INSERT auftritt, dieser ausgegeben werden soll. Das ist bei Multi-Inserts meiner Information nach nicht möglich.
Ok, ich hab's jetzt endlich gelöst.
mit $adapter->query($query) geht es. fetchAll war die falsche Funktion. Allerdings trotzdem sehr merkwürdig, dass es lokal funktioniert hat.
Danke, dedflix!
Hallöchen auch,
Leider wird als Fehlernummer 0 angegeben. Ausgabe direkt so:
SQLSTATE[HY000]: General error 0
seltsam ..
Hat die Variable $id einen Wert?
... VALUES (".(int)$id.", ...
MfG
cross
Ja habe ich geprüft...