神崎と申します。
オブジェクト指向型で「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