PHP + MySql + الإجراءات المخزنة، كيف يمكنني الوصول إلى قيمة "الخروج"؟
-
09-06-2019 - |
سؤال
يفتقر التوثيق بشدة إلى أي شيء يتعلق بالإجراءات المخزنة في الخلية مع 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, " ";
}
$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/
لا تنتمي إلى StackOverflow