MySQL 上传视频后插入查询失败的可能原因

Possible reasons for failing MySQL insert query after video upload

我需要一些建议,去哪里寻找以下问题的可能原因。

我是运行一个PHP视频上传脚本。每次都在服务器上成功上传视频。在我从临时文件夹到新文件夹执行 move_uploaded_file 后,我有以下代码:

$sql_insrt  = "INSERT INTO tbl_videos SET
               video_name       = 'name1',
               v_id             = '12'";
$rs_insrt   = $db -> Execute($sql_insrt);

现在,对于小视频文件 (1~5MB),$rs_insrt 查询可以成功执行,没有任何问题。 但是,当我尝试上传更大的视频(例如 20MB)时,$rs_insrt 不会被执行。视频文件已上传到新文件夹(应该如此)并且 $sql_insrt 查询正确但插入查询没有通过。

你们知道为什么会这样吗?

我在 php.ini 中有以下配置,所以我认为这不是问题所在:

max_execution_time = 300 
max_file_uploads = 20
max_input_nesting_level = 64 
max_input_time = -1
max_input_vars = 1000
memory_limit = 128M
post_max_size = 100M
upload_max_filesize = 100M

您可以尝试分块上传文件。我认为你有超时问题。 上传完成后,您可以 运行 您的 mysql 语句。

https://github.com/blueimp/jQuery-File-Upload/wiki/Chunked-file-uploads

好的,所以我终于弄明白了。 MySQL 版本已升级,wait_timeout 已设置为 20 秒。因此错误。

wait_timeout 托管服务提供商允许的最大值为 90 秒 - 不足以满足我的需求,因此我找到了解决方法。

我正在检查现有连接,如果 none,我将关闭然后打开新连接(以下 ADOdb 示例):

if (!mysql_ping($db)) {
   $db->Close();                        
   $db = ADONewConnection('mysqli');
   $db->Connect('host','user','pass','name') or die("Database not found!");
}