[PHP-users 32088] Re: phpで execute を関数化

Takashi Mikami mikami @ cx.117.cx
2007年 5月 10日 (木) 00:05:56 JST


こんばんわ。初めて投稿します、三上と申します。

ibase_execute()に渡すパラメータは、配列じゃだめなんじゃないでしょうか。
ibase_execute($stmt, $user_id, $passwd);
かと思います。

# 普段PEARなんで、よく知らないですが。

> こんにちは、有田と申します。
> 
> 現在、prepareとexecuteを関数化しようと思っていますが
> うまくできません。
> 
> やりたい事は、SQL文とパラメータを関数に渡して結果を取得したいだけです。
> 
> 以下のコードだと、実行時にexecuteのパラメタが足りないというような
> ワーニングが出るのですが、どのようにして、パラメータをセットすれば
> よいのでしょうか?
> 
> 以下、ソースを載せますのでよろしくお願い致します。
> 
> -関数-
> function db_execute($con, $sql, $params){
>   $stmt = ibase_prepare($con, $sql);
>   $rset = ibase_execute($stmt, $params);
>   return ibase_fetch_object($rset);
> }
> 
> -実行元-
> $user_id = 1;
> $passwd  = 'ABCDEFG';
> $params  = array($user_id, $passwd);
> $sql = "SELECT NAME_DISP, "
>      .        "MAILADDRESS "
>      .   "FROM MS_MEMBER "
>      .  "WHERE USER_ID =  ? AND "
>      .       " PASSWD  =  ?";
> $row = db_execute($con, $sql, $params);
> echo $row->NAME_DISP;
> 
> -メッセージ-
> Warning: ibase_execute() [function.ibase-execute]: Statement expects 2 arguments
> 
> 環境は、以下の通りです。
> OS:WindowsXpPro
> DB:Firebird1.5
> php5
> Apache2
> 
> 以上、よろしくお願い致します。
> _______________________________________________
> PHP-users mailing list  PHP-users @ php.gr.jp
> http://ml.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://www.php.gr.jp/php/novice.php3
> 


PHP-users メーリングリストの案内