Memanggil Prosedur Tersimpan dengan Parameter Keluar Menggunakan PDO: Pepijat Selesai
Walaupun mengikut manual PDO, anda mungkin menghadapi hujah "OUT atau INOUT ...bukan pembolehubah" ralat apabila memanggil prosedur tersimpan dengan parameter output. Ini mungkin disebabkan oleh pepijat dalam versi PHP dan MySQL yang lebih awal.
Untuk menyelesaikan isu ini, laksanakan penyelesaian berikut:
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']; }
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat 'KELUAR atau INOUT...bukan pembolehubah' Semasa Memanggil Prosedur Tersimpan dengan PDO?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!