آموزش کار با BLOB ها

سلام کاربران گرامی ، حال شما خوبه ؟ امیدوارم که شاد باشید و سلامت باشید با اموزش امروز ما که در مورد blob ها است  همراه باشید.

می توانیم عکس ها یا دیگر اسناد را در پایگاه داده ذخیره کنیم. برای این منظور، با نوع داده BLOB کار می کنیم.

اول، جدولی به نام books می سازیم  که دارای یک BLOB است.

CREATE TABLE `books` (‎
‎  `id` int(11) NOT NULL auto_increment,‎
‎ ‎
‎  `title` varchar(150) NOT NULL,‎
‎  `author` varchar(150) NOT NULL,‎
‎ ‎
‎  `description` varchar(255) NOT NULL,‎
‎  `on_sale` tinyint(1) NOT NULL,‎
‎ ‎
‎  `cover` blob NOT NULL,‎
‎  PRIMARY KEY  (`id`)‎
‎ ‎
‎);

نمونه داده جدول را اضافه می کنیم.

// configuration‎
‎$dbtype     = “sqlite”;‎
‎$dbhost     = “localhost”;‎
‎$dbname     = “test”;‎
‎$dbuser     = “root”;‎
‎$dbpass     = “admin”;‎
// database connection‎
‎$conn = new PDO(“mysql:host=$dbhost;dbname=$dbname”,$dbuser,$dbpass);‎
// new data‎
‎$title = “ZEND FRAMEWORK TUTORIAL”;‎
‎$author = “PHP Everyday”;‎
‎$cover = fopen(‘7.png’,‘rb’);‎
// query‎
‎$sql = “INSERT INTO books (title,author,cover) values(?,?,?)”;‎
‎$q = $conn->prepare($sql);‎
‎$q->bindParam(1, $title);‎
‎$q->bindParam(2, $author);‎
‎$q->bindParam(3, $cover, PDO::PARAM_LOB);‎
‎$q->execute();‎
‎?>‎

حالا داده را بازیابی می کنیم.

// configuration
‎$dbtype     = “sqlite”;‎
‎$dbhost     = “localhost”;‎
‎ ‎    ‎$dbname     = “test”;‎
‎$dbuser     = “root”;‎
‎ ‎    ‎$dbpass     = “admin”;‎
// database connection‎
‎$conn = new PDO(“mysql:host=$dbhost;dbname=$dbname”,$dbuser,$dbpass);‎
// query‎
‎$sql = “SELECT id,title,author,cover FROM books”;‎
‎$q = $conn->prepare($sql);‎
‎$q->execute();‎
‎$q->bindColumn(1, $id);‎
‎$q->bindColumn(2, $title);‎
‎$q->bindColumn(3, $author);‎
‎$q->bindColumn(4, $cover, PDO::PARAM_LOB);‎
while($q->fetch())‎
‎ ‎
‎{‎
file_put_contents($id.“.png”,$cover);‎
echo “$title, $author, ‎ ‎
“;‎
‎}‎
‎?>‎