"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como acessar parâmetros OUT em PHP ao trabalhar com procedimentos armazenados do MySQL?

Como acessar parâmetros OUT em PHP ao trabalhar com procedimentos armazenados do MySQL?

Publicado em 2024-11-03
Navegar:914

How to Access OUT Parameters in PHP When Working with MySQL Stored Procedures?

Obtendo acesso aos parâmetros OUT em PHP com procedimentos armazenados do MySQL

Ao trabalhar com procedimentos armazenados no MySQL usando PHP, obtendo o valor de um O parâmetro "OUT" pode ser um desafio devido à documentação limitada. No entanto, este processo é possível utilizando a API PHP mysqli.

Usando mysqli

Considere um procedimento armazenado chamado "myproc" com um parâmetro IN ("i") e um parâmetro OUT ("j"). Para recuperar o valor de "j" usando PHP, siga estes passos:

$mysqli = new mysqli(  "HOST", "USR", "PWD", "DBNAME" );
$ivalue=1;

// Execute the stored procedure and store the result.
$res = $mysqli->multi_query( "CALL myproc($ivalue,@x);SELECT @x" );

if( $res ) {
    $results = 0;

    // Iterate through the results.
    do {
        if ($result = $mysqli->store_result()) {

            // Display the result header.
            printf( "<b>Result #%u</b>:<br/>",   $results );

            // Fetch and display the OUT parameter value.
            while( $row = $result->fetch_row() ) {
                foreach( $row as $cell ) {
                    echo $cell, "&nbsp;";
                }
            }

            $result->close();
            if( $mysqli->more_results() ) echo "<br/>";
        }
    } while( $mysqli->next_result() );
}

// Close the mysqli connection.
$mysqli->close();

Neste exemplo, o valor do parâmetro "j" é armazenado no objeto "resultado" e obtido usando o método fetch_row(). Isso nos permite acessar e exibir o valor do parâmetro OUT do procedimento armazenado.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3