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

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

WBOY
WBOYオリジナル
2016-06-23 13:52:411058ブラウズ

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 を使用して戻り値を取得する方法の問題も解決します。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。