Aufrufen einer gespeicherten Prozedur mit Ausgabeparametern mithilfe von PDO
Beim Versuch, eine gespeicherte Prozedur mit einem Ausgabeparameter mithilfe von PDO auszuführen, ist dies unbedingt zu berücksichtigen ein bekannter Fehler. Dieser Fehler kann zu folgendem Fehler führen, obwohl die Prozedur beim direkten Aufruf aus MySQL wie erwartet funktioniert:
"SQLSTATE[42000]: Syntaxfehler oder Zugriffsverletzung: 1414 OUT oder INOUT Argument 1 für Routine mydb.proc_OUT ist keine Variable oder NEUE Pseudovariable im BEFORE-Trigger"
Um dieses Problem zu beheben, wird empfohlen, die gespeicherte Prozedur mit dem folgenden Ansatz auszuführen:
$dbh->query("CALL SomeStoredProcedure($someInParameter1, $someInParameter2, @someOutParameter)"); $dbh->query("SELECT @someOutParameter");
$stmt = $dbh->prepare("CALL SomeStoredProcedure(?, ?)"); $stmt->execute(array($someInParameter1, $someInParameter2));
Wenn Sie diesem Ansatz folgen, können Sie gespeicherte Prozeduren mit Ausgabeparametern mithilfe von PDO effektiv aufrufen, selbst wenn der oben genannte Fehler auftritt.
Das obige ist der detaillierte Inhalt vonWie rufe ich gespeicherte Prozeduren mit Ausgabeparametern mithilfe von PDO auf, wenn ein bekannter Fehler auftritt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!