PHP + MySql + الإجراءات المخزنة، كيف يمكنني الوصول إلى قيمة "الخروج"؟

StackOverflow https://stackoverflow.com/questions/48126

سؤال

يفتقر التوثيق بشدة إلى أي شيء يتعلق بالإجراءات المخزنة في الخلية مع PHP.لدي حاليًا إجراء مخزن أقوم باستدعائه عبر PHP، كيف يمكنني الحصول على قيمة معلمة out؟

هل كانت مفيدة؟

المحلول

يبدو أنه تمت الإجابة عليه في هذه المشاركة:

http://forums.mysql.com/read.php?52,198596,198717#msg-198717

مع mysqli PHP API:

افترض sproc myproc( IN i int, OUT j int ):

$mysqli = new mysqli(  "HOST", "USR", "PWD", "DBNAME" );
$ivalue=1;
$res = $mysqli->multi_query( "CALL myproc($ivalue,@x);SELECT @x" );
if( $res ) {
  $results = 0;
  do {
    if ($result = $mysqli->store_result()) {
      printf( "<b>Result #%u</b>:<br/>", ++$results );
      while( $row = $result->fetch_row() ) {
        foreach( $row as $cell ) echo $cell, "&nbsp;";
      }
      $result->close();
      if( $mysqli->more_results() ) echo "<br/>";
    }
  } while( $mysqli->next_result() );
}
$mysqli->close();

نصائح أخرى

فيما يلي مثال لكيفية القيام بذلك باستخدام mysql، وmysqli، وpdo:

http://www.joeyrivera.com/2009/using-mysql-stored-procedures-with-php-mysqlmysqlipdo/

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top