Bernhard12: MySQL Insert-Statement erzeugt SQLSTATE[HY000]: General error

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.

  1. 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

    1. 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);  
      }
      
      1. 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!
        
        1. 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.

        2. 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!

      2. 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

        1. Ja habe ich geprüft...