プリペアド ステートメントをストアド プロシージャで使用する場合は、BEGIN ブロックと END ブロック内に記述する必要があります。それを理解するために、ストアド プロシージャにパラメーターとしてテーブル名を指定することで、テーブル内のすべてのレコードを取得できる例を作成しました。
mysql> DELIMITER // mysql> Create procedure tbl_detail(tab_name Varchar(40)) -> BEGIN -> SET @A:= CONCAT('Select * from',' ',tab_name); -> Prepare stmt FROM @A; -> EXECUTE stmt; -> END // Query OK, 0 rows affected (0.00 sec)
次に、テーブルの名前をパラメータとして渡してこのプロシージャを呼び出すと、そのテーブルのすべてのレコードが表示されます。
えええええ以上がストアド プロシージャでプリペアド ステートメントを使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。