以下是我的问题:我想在我的数据库中添加小视频片段。
我在MYSQL中使用了longblob类型。我试图将小视频剪辑插入phpmyadmin,但我没有附上它。
请指导我这个。我搜索过,但我找不到满意的答案。
答案 0 :(得分:1)
将文件名存储在数据库中并将视频存储在服务器本身上可能是更好的做法,因为视频文件可能非常繁重。然而,话虽如此,我认为这样的解决方案应该有效:
<强> 1。将视频插入数据库
你需要有一个表格来插入视频;像这样的东西
CREATE TABLE VIDEOTABLE (
ID INTEGER NOT NULL PRIMARY KEY,
VIDEONAME VARCHAR (64),
VIDEO LONGBLOB );
会给你一个这样的表:
-----------------------------------
Row | ID | VIDEONAME | VIDEO |
-----------------------------------
1 | 33 | My Movie | 10100101...* |
-----------------------------------
(*我实际上并不知道视频数据将如何在VIDEO行中表示。)
创建该表后,您需要将影片插入其中 - 假设您已将视频保存在PC上的C:\ users \ example \ video \ MyMovie.mp4
INSERT INTO VIDEOTABLE VALUES (33, "My Movie", LOAD_FILE("C:\\users\\example\\video\\MyMovie.mp4"));
<强> 2。从数据库中检索文件
在再次检索视频时,请查看about.com关于使用PHP从数据库检索文件的this excellent guide。在将文件写入数据库时,整个教程是非常有用的指南,所以你肯定想看看整个事情。这是代码片段 - 如果您阅读本指南,您应该能够根据自己的需要对其进行修改。
<?php
mysql_connect("your.server.com","username","password");
mysql_select_db("database_name");
$query = "SELECT data,filetype FROM uploads where id=$id";
$result = MYSQL_QUERY($query);
$data = MYSQL_RESULT($result,0,"data");
$type = MYSQL_RESULT($result,0,"filetype");
Header( "Content-type: $type");
print $data;
?>