ホームページ >バックエンド開発 >PHPチュートリアル >PHP が Oracle、mysql、mssql サーバー ストアド プロシージャを呼び出すメソッド_PHP チュートリアル
以下は、3 つの人気のあるデータベース チュートリアルが PHP チュートリアルを使用してストアド プロシージャを呼び出す方法をまとめたもので、mysql チュートリアル、oracle、mssql サーバーについて説明します。
関数 check_login($user, $pass) {
mysqlを呼び出す
$conn = ocilogon('user', 'pass', 'database');
$sql = 'begin :result := test.check_login(:user, :pass);';
$stmt = oci_parse($conn, $sql);
$result = '';
oci_bind_by_name($stmt, ':user', $user, 32);
oci_bind_by_name($stmt, ':pass', md5($pass), 32);
oci_bind_by_name($stmt, ':result', $result, 10);
oci_execute($stmt);
ocilogoff($conn);
return $result;
}
?>
ストアド プロシージャを次のように変更します。
プロシージャ in_out(in uid int) の作成開始set @msg='hello';
MS SQLサーバーを呼び出す
select *,@msg from manage_loginhistory where h_uid=uid;
終わり;
PHP 呼び出しは次のように変更されます:
$sql = "call in_out(39)";
$rs=mysql_query($sql);
$row=mysql_fetch_array($rs);
$user_name = 'Dragon Tears'; //ストアドプロシージャの入力パラメータとして使用する変数を宣言します
$password = '123456' //ストアドプロシージャの別の入力パラメータとして使用する変数を宣言しますhttp://www.bkjia.com/PHPjc/630764.html$info = ''; $info, //$info、ストアドプロシージャから出力されたパラメータ値を受け入れるために使用されます
;
$host="192.168.0.1"; //データベースサーバーを定義します
$user="sa" //接続ユーザー名
$password="123456" //接続パスワード
; $db="サンプル"; //データベース名
$dblink=mssql_connect($host,$user,$password) または die("mssql に接続できません") //データベースサーバーに接続します
; mssql_select_db($db,$dblink) または die("サンプルを選択できません");//データベースを選択します
$sp = mssql_init("test") //ストアド プロシージャを初期化します//ストアド プロシージャにパラメータを追加します。@user_name はパラメータ名、$user_name はパラメータに対応する PHP 変数、sqlvarchar はパラメータの型が SQL サーバーの varchar 型であることを示し、最初の false はパラメータがは出力パラメータではありません。つまり、パラメータは入力パラメータです。最後の 30 は、変数の長さが 30 であることを示します。 mssql_bind($sp,"@user_name",$user_name,sqlvarchar,false,false,30);
mssql_bind($sp,"@password",$password,sqlvarchar,false,false,30);mssql_bind($sp,"@info",$info,sqlvarchar,true,false,30); //ストアドプロシージャに出力パラメータを追加します
mssql_execute($sp); //ストアドプロシージャを実行します
echo $info; // ストアド プロシージャから返された出力パラメータ値を出力します