[PHP-users 32084] phpで execute を関数化
Shin Arita
shin.arita @ plusonesystem.co.jp
2007年 5月 9日 (水) 15:54:27 JST
こんにちは、有田と申します。
現在、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 メーリングリストの案内