Aufrufen einer gespeicherten Prozedur mit Out-Parameter mithilfe von PDO: Fehler behoben
Obwohl Sie das PDO-Handbuch befolgt haben, kann es vorkommen, dass Sie auf ein „OUT“- oder „INOUT“-Argument stoßen „...ist keine Variable“-Fehler beim Aufrufen einer gespeicherten Prozedur mit einem Ausgabeparameter. Dies ist wahrscheinlich auf einen Fehler in früheren Versionen von PHP und MySQL zurückzuführen.
Um dieses Problem zu beheben, implementieren Sie die folgende Problemumgehung:
DELIMITER // CREATE PROCEDURE `proc_OUT` (OUT var1 VARCHAR(100)) BEGIN SET var1 = 'This is a test'; SELECT var1; -- Select added to retrieve the output parameter END //
$stmt = $db->prepare("CALL proc_OUT(?)"); $stmt->bindParam(1, $return_value, PDO::PARAM_STR, 4000); $stmt->execute();
$result = $db->query("SELECT var1 FROM proc_OUT"); foreach ($result as $row) { echo $row['var1']; }
Das obige ist der detaillierte Inhalt vonWie behebt man den Fehler „OUT- oder INOUT-Argument ... ist keine Variable' beim Aufrufen gespeicherter Prozeduren mit PDO?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!