diff --git a/libraries/db_routines.inc.php b/libraries/db_routines.inc.php index 46f87ee3ec..b6819290cd 100644 --- a/libraries/db_routines.inc.php +++ b/libraries/db_routines.inc.php @@ -889,7 +889,11 @@ if (! empty($_REQUEST['execute_routine']) && ! empty($_REQUEST['routine_name'])) $need_end_query = true; for ($i=0; $i<$routine['num_params']; $i++) { if (isset($_REQUEST['params'][$routine['param_name'][$i]])) { - $value = PMA_sqladdslashes($_REQUEST['params'][$routine['param_name'][$i]]); + $value = $_REQUEST['params'][$routine['param_name'][$i]]; + if (is_array($value)) { // is SET type + $value = implode(',', $value); + } + $value = PMA_sqladdslashes($value); $queries[] = "SET @p$i='$value';\n"; $args .= "@p$i"; } @@ -902,7 +906,11 @@ if (! empty($_REQUEST['execute_routine']) && ! empty($_REQUEST['routine_name'])) } else { for ($i=0; $i<$routine['num_params']; $i++) { if (isset($_REQUEST['params'][$routine['param_name'][$i]])) { - $value = PMA_sqladdslashes($_REQUEST['params'][$routine['param_name'][$i]]); + $value = $_REQUEST['params'][$routine['param_name'][$i]]; + if (is_array($value)) { // is SET type + $value = implode(',', $value); + } + $value = PMA_sqladdslashes($value); $queries[] = "SET @p$i='$value';\n"; $args .= "@p$i"; } else { @@ -996,16 +1004,23 @@ if (! empty($_REQUEST['execute_routine']) && ! empty($_REQUEST['routine_name'])) echo "\n