2008年8月 5日

[PHP-users 33934]mysqli_stmt_bind_paramの使い方

神崎と申します。

オブジェクト指向型で「mysqli_stmt_bind_param」を使って
MySQLへのINSERT処理ではまっています。

ソースは下記のとおりです。

$stmt = $mysqli->prepare( "INSERT INTO test_tbl( v1, v2, v3 ) VALUES ( ?, ?, ? )" );

if( $stmt ) {
$data = array();
$data[0] = "1";
$data[1] = "2";
$data[2] = "3";
$stmt->bind_param( 'sss', $data );
}

マニュアルを見るとbind_paramの第2引数は「mixed &$var1」となっており、
配列が使えると思い、上記のように記述してみたのですが、
prepareがfalseを返します。
bind_paramの第2引数に配列ではなく、
$stmt->bind_param( 'sss', $data[0], $data[1], $data[2] );
のように、3つ独立して渡すと成功します。
配列は使えないのでしょうか?

また使えない場合、実運用ではこの第2引数の個数が動的に変わるので
配列に変わる良い方法はないものでしょうか。
もちろんその場合は第1引数も動的に変えます。

どなたか教えていただけないでしょうか。
よろしくお願いいたします。


なおサーバ環境は下記のとおりです。

サーバ:Red Hat Enterprise Linux v.5
PHP:5.1.6
MySQL:5.0.45 (mysqli関数は使用できるようになっております)

_______________________________________________
PHP-users mailing list PHP-users@xxxxx
http://ml.php.gr.jp/mailman/listinfo/php-users
PHP初心者のためのページ - 質問する前にはこちらをお読みください
http://oldwww.php.gr.jp/php/novice.php3


投稿者 xml-rpc : 2008年8月 5日 21:53
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/75968
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。