ホームページ > バックエンド開発 > PHPチュートリアル > PHP で PDO メソッドを使用すると、ストアド プロシージャの呼び出しが失敗します。

PHP で PDO メソッドを使用すると、ストアド プロシージャの呼び出しが失敗します。

WBOY
リリース: 2016-06-23 13:52:41
オリジナル
1050 人が閲覧しました

MYSQL、ストアド プロシージャ

CREATE DEFINER=`trip_admin`@`localhost` PROCEDURE `outtemp`(OUT `p_outtext` VARCHAR(100))proc:BEGIN    set p_outtext='测试';    insert into temp (tp) value (p_outtext);END
ログイン後にコピー


テーブル TEMP、単なる tp フィールド。

PHP と PDO を使用してこのストアド プロシージャを呼び出すと、戻り値はなく、テーブルにデータは追加されません。
	$DSN = "$DBMS:host=$HOST;dbname=$DBName";	$pdo = new PDO($DSN,$UserName,$PassWord);	$pdo -> query("set names uft8");	$result=$pdo->prepare("call outtemp (?)");	$result->bindParam(1,$result_text,PDO::PARAM_STR,100);	$result->execute();
ログイン後にコピー


環境:
Windows Server 2008 x64
MySQL 5.6.19
PHP 5.5.14


ディスカッションに返信 (解決策)

何が起こったのか調べて調べてください。また、複数の IN パラメータと OUT パラメータを指定してストアド プロシージャを呼び出し、PDO を使用して戻り値を取得する方法の問題も解決します。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート