mysqliの使い方

php5あたりから追加されたmysqliで大容量ファイルをアップロードするときなどprepare_statementを使って、パケットを分割してmysqlのblobなどにデータをinsertする。

$mysqli = new mysqli("localhost", "user", "password", "データベース");

mysql接続エラー
echo mysqli_connect_errno();

$mysqli->query($sql);
$stmt = $mysqli->prepare($query)) {

$result = $stmt->execute();

while ($row = mysql_fetch_assoc($result)) {
echo $row["name"];
}

blob のサイズが
max_allowed_packet を越えてしまう場合

$stmt = mysqli_prepare($db,$sql);

$null = NULL;
$stmt->bind_param(“b”, $null);
$fp = fopen($_FILES[“userfile”][“tmp_name”], “rb”);
while (!feof($fp)) {
    $stmt->send_long_data(0, fread($fp, 8192));
}
fclose($fp);

mysqlエラー
echo $stmt->error;

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です