複数のテーブルを作成してデータを挿入するMySqlプロシージャを作成しました。データが最新でない場合は削除して、mysqlコマンドラインまたはSQLワークベンチにメッセージを表示します。このために変数を使用し、次のように表示しますmysqlで大丈夫です。
SET _output = 'Generating table one...';
select _output;
create table ec_ms_yy_qt
(select * from table1);
call checkdata();
SET _output = 'Generating table tow..';
select _output;
PHPから同じものを呼び出した場合、最初のステートメントの後に停止し、プロシージャを実行しません。「テーブル1を生成しています...」のみを返します。. selectステートメントが見つかった場合、実行を停止することを意味します
$rs = mysql_query( ‘CALL processdata()’ );
while($row = mysql_fetch_assoc($rs))
{
print_r($row);
}
次に、正常に動作するストア プロシージャから select _output を削除しました。しかし、これは私が望む解決策ではありません。ユーザーは、エラーが発生したことや、エラーが発生した場所について通知を受けません。また、手順が完了するまでプログラムをハングさせ、ローカルホストを待っているステータスバーにブラウズショーを表示しました。