[PHP-users 33939] Re: mysqli_stmt_bind_param の使い方
TANAKA Masayuki
tanakamasayuki @ gmail.com
2008年 8月 6日 (水) 00:35:43 JST
たなかです
> $funcParams = array(str_repeat('s', $count));
> $funcParams = array_merge($funcParams, array_values($data));
> call_user_func_array(array($stmt, 'bind_param'), $funcParams);
> 若干やりすぎ感もありますが、あくまで一例としてご覧下さい。
> なお動かしてません。
この関数すごいっすね
私はたぶんこうしちゃいます
可変にした時点でprepareの意味がなくなるので。。。
$data = array(
'v1' => '\'hoge',
'v2' => 'huga',
'v3' => 'piyo',
);
$mysqli = new mysqli("localhost", "user", "pass", "dbname");
$mysqli->set_charset("utf8");
$keys = array();
$values = array();
foreach( $data as $key => $value ){
$keys[] = $mysqli->real_escape_string($key);
$values[] = $mysqli->real_escape_string($value);
}
$sql = "INSERT INTO test_tbl( " . implode(', ', $keys) . " ) VALUES (
'" . implode("', '", $values) . "' )";
$mysqli->query($sql);
たなか
PHP-users メーリングリストの案内