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

संग्रहीत कार्यविधियाँ, MySQL और PHP

@michal kralik - दुर्भाग्य से MySQL C API के साथ एक बग है जिसका PDO उपयोग करता है जिसका अर्थ है कि MySQL के कुछ संस्करणों के साथ उपरोक्त के रूप में अपना कोड चलाने से त्रुटि होती है:

आप बग रिपोर्ट bugs.mysql.com पर देख सकते हैं . इसे संस्करण 5.5.3+ और 6.0.8+ के लिए ठीक कर दिया गया है।

समस्या को हल करने के लिए, आपको इन और आउट मापदंडों को अलग करना होगा, और परिणाम को इस तरह संग्रहीत करने के लिए उपयोगकर्ता चर का उपयोग करना होगा:

$stmt = $dbh->prepare("CALL sp_takes_string_returns_string(:in_string, @out_string)");
$stmt->bindParam(':in_string', 'hello'); 

// call the stored procedure
$stmt->execute();

// fetch the output
$outputArray = $this->dbh->query("select @out_string")->fetch(PDO::FETCH_ASSOC);

print "procedure returned " . $outputArray['@out_string'] . "\n";


  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 8 कैसे स्थापित करें

  2. mysql तालिका में डुप्लिकेट मान कैसे हटाएं?

  3. कॉलम अशक्त नहीं हो सकता Mysql

  4. पर्ल डीबीआई mysql देशी एकाधिक डालने की क्षमता का उपयोग करके एकाधिक पंक्तियां डालें

  5. कोडइग्निटर सक्रिय रिकॉर्ड 'कई संग्रहीत प्रक्रियाओं को कॉल करने में समस्याएं