दुर्भाग्य से, MySQLi नहीं
आउटपुट स्पोक पैरामीटर के लिए कोई मूल समर्थन है; इसके बजाय किसी को MySQL उपयोगकर्ता चर
में आउटपुट करना चाहिए और फिर एक अलग SELECT
. का उपयोग करके मान प्राप्त करें बयान।
प्रक्रियात्मक इंटरफ़ेस का उपयोग करना:
$procInput1 = 123;
$procInput2 = 456;
$procInput3 = 789;
$mysqli = mysqli_connect();
$call = mysqli_prepare($mysqli, 'CALL test_proc(?, ?, ?, @sum, @product, @average)');
mysqli_stmt_bind_param($call, 'iii', $procInput1, $procInput2, $procInput3);
mysqli_stmt_execute($call);
$select = mysqli_query($mysqli, 'SELECT @sum, @product, @average');
$result = mysqli_fetch_assoc($select);
$procOutput_sum = $result['@sum'];
$procOutput_product = $result['@product'];
$procOutput_average = $result['@average'];
या, ऑब्जेक्ट-ओरिएंटेड इंटरफ़ेस का उपयोग करना:
$procInput1 = 123;
$procInput2 = 456;
$procInput3 = 789;
$mysqli = new mysqli();
$call = $mysqli->prepare('CALL test_proc(?, ?, ?, @sum, @product, @average)');
$call->bind_param('iii', $procInput1, $procInput2, $procInput3);
$call->execute();
$select = $mysqli->query('SELECT @sum, @product, @average');
$result = $select->fetch_assoc();
$procOutput_sum = $result['@sum'];
$procOutput_product = $result['@product'];
$procOutput_average = $result['@average'];