Read PHP MySQL BLOB today to learn how to work with BLOBs. Basically:
public function insertBlob($filePath,$mime){ $blob = fopen($filePath,'rb'); $sql = "INSERT INTO files(mime,data) VALUES(:mime,:data)"; $stmt = $this->conn->prepare($sql); $stmt->bindParam(':mime',$mime); $stmt->bindParam(':data',$blob,PDO::PARAM_LOB); return $stmt->execute(); } function updateBlob($id,$filePath,$mime) { $blob = fopen($filePath,'rb'); $sql = "UPDATE files SET mime = :mime, data = :data WHERE id = :id"; $stmt = $this->conn->prepare($sql); $stmt->bindParam(':mime',$mime); $stmt->bindParam(':data',$blob,PDO::PARAM_LOB); $stmt->bindParam(':id',$id); return $stmt->execute(); } public function selectBlob($id) { $sql = "SELECT mime, data FROM files WHERE id = :id"; $stmt = $this->conn->prepare($sql); $stmt->execute(array(":id" => $id)); $stmt->bindColumn(1, $mime); $stmt->bindColumn(2, $data, PDO::PARAM_LOB); $stmt->fetch(PDO::FETCH_BOUND); return array("mime" => $mime, "data" => $data); }