0

phpmyadmin を使用して、mysql ストアド プロシージャを作成しましたmySP()。SP を作成した後、SP が ROUTINE テーブルの下の information_schema db にあることに気付きました。ここで見ることができます。phpmyadmin 内から、実際のデータベースの下で、SQL タブを使用し、次を使用してプロシージャを呼び出す場合: CALL mySP();

必要に応じて機能します。問題ない。

今、私はこの SP を呼び出す PHP ページを持つことによってこれを拡張しようとしています。

私のphpコードは次のようなものです:

<?php

include("include_db_connection.php");


    $callSP_query = "CALL mySP()";

    $callSP_result =    mysqli_query($db_conn, $callSP_query) 
                            or die('Connected to database, but StoredProc failed');

        if(!$callSP_result)                 
        {
            echo "Error with StoredProc...";
        }
        else
        {
            echo "Succsess! Called Stored Proc..";
        }   

?>

このページをブラウザーにロードすると、「データベースに接続しましたが、StoredProc が失敗しました」というエラーが常に表示され、db への接続が正常に確立されたことを意味しますが、SP の呼び出しに問題があります。

何が問題なのですか?SP は正常に作成され、phpmyadmin 内から正常に呼び出されました。PHP呼び出しはどこで間違っていますか?

ありがとう!

編集:

mysqli_error() を使用してエラーコードを確認したところ、「PROCEDURE mySP does not exist」と表示されました

4

1 に答える 1

0

これは私自身のコードの問題でした。実際、information_schema を参照したり調べたりする必要はありません。データベース接続の詳細が正しい場合は、上記のコードで sp を呼び出すことができます:)

于 2012-10-14T12:49:41.183 に答える