Problem mit stored procedures

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem mit stored procedures

    Folende Anweisung

    PHP-Code:
    DROP PROCEDURE `test`//
    CREATE PROCEDURE `test`(IN arg CHAR,OUT autoid INT)
    SELECT texte_id FROM texte_sprache WHERE texte=arg 
    gibt mir keinen wert zurück, obwohl die Selecct anweisung in der Datenbank und eine hard Codens des Wertes arg ein Ergbnis liefert

    rufe ich das ganze aber über
    PHP-Code:
    $this->connect->query(Call test('Audi',@autoid)); 
    auf bekomme ich ein leeres Ergebnis obwohl der Wert "Audi" natürlich in der Datenbank hinterlegt ist.

    Warum?

    Danke
    <?php echo "ad astra"; ?>
    www.utopiafuture.de

  • #2
    Die Paramter beim Aufruf der Query-Methode erzeugen einen Parse Error. Im Code hast du es wahrscheinlich so stehen:
    PHP-Code:
    $this->connect->query("Call test('Audi',@autoid)"); 
    Benutzt du eigentlich mysql_error()?
    Hast du mal "SELECT @autoid" im Anschluss versucht?
    Willst du eigentlich immer nur einen Wert zurückbekommen oder ein ganzes Resultset?

    Kommentar


    • #3
      PHP-Code:
      $this->connect->query("Call test('Audi',@autoid)"); 
      ist natürlich korrekt :-)

      ich benutze mysqli_error()....

      keine Fehlermeldung, einfach nur ein leeres Ergebnis....

      im Navicat übrigends auch.....
      Zuletzt geändert von martin2; 03.06.2008, 08:42.
      <?php echo "ad astra"; ?>
      www.utopiafuture.de

      Kommentar


      • #4
        Fürs Archiv so klappt es:

        PHP-Code:
        DROP PROCEDURE `test`//
        CREATE PROCEDURE `test`(IN arg CHAR(20),OUT autoid INT)
        SELECT texte_id FROM texte_sprache WHERE texte=arg 
        CHAR muss mit einer Länge angeben werden.
        <?php echo "ad astra"; ?>
        www.utopiafuture.de

        Kommentar

        Lädt...
        X