在PHP中,可以使用PDO
類來讀取和寫入BLOB
數據。以下是一個簡單的示例:
// 連接數據庫
$dsn = 'mysql:host=localhost;dbname=mydatabase';
$username = 'root';
$password = 'password';
try {
$db = new PDO($dsn, $username, $password);
} catch (PDOException $e) {
die('連接數據庫失敗:' . $e->getMessage());
}
// 讀取BLOB數據
$stmt = $db->prepare('SELECT image FROM images WHERE id = :id');
$stmt->bindParam(':id', $id, PDO::PARAM_INT);
$stmt->execute();
$row = $stmt->fetch(PDO::FETCH_ASSOC);
if ($row) {
$image_data = $row['image'];
// 將BLOB數據寫入文件
file_put_contents('image.jpg', $image_data);
}
// 寫入BLOB數據
$image_data = file_get_contents('image.jpg');
$stmt = $db->prepare('INSERT INTO images (image) VALUES (:image)');
$stmt->bindParam(':image', $image_data, PDO::PARAM_LOB);
$stmt->execute();
在上面的示例中,我們首先連接到數據庫,然后從表中讀取BLOB數據并將其寫入文件。然后我們將文件中的數據讀取出來,并將其作為BLOB數據插入到另一個表中。請注意,在寫入BLOB數據時,我們使用了PDO::PARAM_LOB
來綁定參數。