Rumah >pembangunan bahagian belakang >tutorial php >PHP dan PDO: Bagaimana untuk mengendalikan data binari dalam pangkalan data
PHP dan PDO: Cara memproses data binari dalam pangkalan data
Pengenalan:
Dalam pangkalan data, kadangkala perlu untuk menyimpan dan memproses data binari, seperti gambar, fail audio dan video, dsb. Menggunakan sambungan PDO dalam PHP menyediakan cara yang mudah dan berkuasa untuk mengendalikan jenis data binari dalam pangkalan data. Artikel ini akan memperkenalkan cara menggunakan PDO untuk memproses data binari dalam pangkalan data dan menyediakan beberapa contoh kod.
Sambung ke pangkalan data:
Pertama, kita perlu menyambung ke pangkalan data menggunakan PDO. Berikut ialah contoh kod mudah:
$dsn = 'mysql:host=localhost;dbname=mydb'; $username = 'username'; $password = 'password'; try { $pdo = new PDO($dsn, $username, $password); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "Connected to database successfully"; } catch (PDOException $e) { echo "Connection failed: " . $e->getMessage(); }
Membaca data binari:
Seterusnya, kita akan belajar cara membaca data binari daripada pangkalan data. Katakan kita mempunyai jadual bernama photos
, yang mempunyai lajur bernama photo_data
, yang digunakan untuk menyimpan data binari gambar. Contoh kod berikut menunjukkan cara membaca data binari imej daripada pangkalan data: photos
的表,其中有一个名为photo_data
的列,用于存储图片的二进制数据。以下代码示例演示了如何从数据库中读取图片的二进制数据:
$query = "SELECT photo_data FROM photos WHERE id = :id"; $stmt = $pdo->prepare($query); $stmt->bindParam(':id', $id); $stmt->execute(); $result = $stmt->fetch(PDO::FETCH_ASSOC); $photoData = $result['photo_data']; // 输出二进制数据 header('Content-Type: image/jpeg'); echo $photoData;
写入二进制数据:
现在,我们来看看如何将二进制数据写入数据库。以下代码示例展示了如何从文件中读取图片二进制数据,并将其保存到photos
$photoData = file_get_contents('path/to/photo.jpg'); $query = "INSERT INTO photos (photo_data) VALUES (?)"; $stmt = $pdo->prepare($query); $stmt->bindParam(1, $photoData, PDO::PARAM_LOB); $stmt->execute(); echo "Photo data inserted into database successfully";Tulis data binari:
Sekarang, mari lihat cara menulis data binari ke pangkalan data. Contoh kod berikut menunjukkan cara membaca data binari imej daripada fail dan menyimpannya ke jadual $photoData = file_get_contents('path/to/new_photo.jpg');
$query = "UPDATE photos SET photo_data = ? WHERE id = ?";
$stmt = $pdo->prepare($query);
$stmt->bindParam(1, $photoData, PDO::PARAM_LOB);
$stmt->bindParam(2, $id);
$stmt->execute();
echo "Photo data updated successfully";
Jika anda perlu mengemas kini data binari yang telah disimpan, anda boleh Gunakan contoh kod berikut:
$query = "DELETE FROM photos WHERE id = :id"; $stmt = $pdo->prepare($query); $stmt->bindParam(':id', $id); $stmt->execute(); echo "Photo data deleted successfully";Memadam data binari:
Apabila anda tidak lagi memerlukan data binari dalam pangkalan data, anda boleh memadamkannya menggunakan contoh kod berikut:
rrreee
Atas ialah kandungan terperinci PHP dan PDO: Bagaimana untuk mengendalikan data binari dalam pangkalan data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!