Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

PHP:MySQL संग्रहीत प्रक्रिया को इनपुट और आउटपुट दोनों पैरामीटर के साथ कॉल करना (इनआउट नहीं)

दुर्भाग्य से, 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'];


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. कैसे सुनिश्चित करें कि आपका MySQL डेटाबेस सुरक्षित है

  2. केकपीएचपी में ग्रुप और COUNT () उम्र

  3. क्वेरी में गलत गिनती

  4. टाइमस्टैम्प अपडेट किए बिना प्रविष्टि अपडेट कर रहा है

  5. mysql तालिकाओं में एकाधिक csv फ़ाइलें आयात करना