[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 メーリングリストの案内