php - 在 MySQL 中插入 URL

标签 php mysql

我目前正在开发 iOS 应用程序,该应用程序使用 MySQL 作为 rdbms,使用 xampp 作为 Web 服务器来填充 UITableView 中的视频。我在 MySQL 表中插入 URL 时遇到困难。为了更清楚地说明,我在表中有 3 列,即 NewID、NewsTitle 和 NewsVid。当我通过查询插入 URL 时,例如:

INSERT INTO `dbnews`.`Newsfeed` (`NewsID`, `NewsTitle`, `NewsVid`) VALUES ('1', 'Today's news', LOAD_FILE('Macintosh HD/Applications/XAMPP/xamppfiles/htdocs/video/Crime.mp4'))

错误提示“#1048 - Column 'NewsVid'不能为空”

由于我正在学习过程中,希望为我提供解决这个问题的指导。

最佳答案

首先 - 您的 SQL 命令中有未转义的字符 ' - 这里:'Today's news':

INSERT INTO `dbnews`.`Newsfeed` (`NewsID`, `NewsTitle`, `NewsVid`) VALUES ('1', 'Today's news', LOAD_FILE('Macintosh HD/Applications/XAMPP/xamppfiles/htdocs/video/Crime.mp4'))
                                                                                      ^ HERE

将 SQL 编辑为(需要使用反斜杠 \ 转义 '):

INSERT INTO `dbnews`.`Newsfeed` (`NewsID`, `NewsTitle`, `NewsVid`) VALUES ('1', 'Today\'s news', LOAD_FILE('Macintosh HD/Applications/XAMPP/xamppfiles/htdocs/video/Crime.mp4'))

根据评论更新:

然后您可以尝试在数据库中仅存储文件的链接,而不存储 LOAD_FILE 函数的输出。所以你更新后的命令将如下所示:

INSERT INTO `dbnews`.`Newsfeed` (`NewsID`, `NewsTitle`, `NewsVid`) VALUES ('1', 'Today\'s news', 'Macintosh HD/Applications/XAMPP/xamppfiles/htdocs/video/Crime.mp4')

当您要从数据库读取数据时,可以使用 LOAD_FILE,例如:

// DB CONNECT
// DB READ DATA
LOAD_FILE($row['NewsVid']);

关于php - 在 MySQL 中插入 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30254512/

相关文章:

mysql - mysql中需要重新准备prepared statement

php - 尝试从 MySQL 访问 PHP 中的存储过程

php - 在 PHP 和 MySQL 中插入和显示特殊字符

php - mySQL 按字符串排序

PHP 和 MySQL 找到 COUNT 和 ORDER BY 结果

mysql 在同一个表上组合不同的 count()

Mysql5.5迁移至RDS/Aurora

php - 使用php计算数据库中用户的时差

javascript - 如何确定用户何时正式离开或进入页面

mysql - MySQL单个单词列的 bool 模式搜索