gpt4 book ai didi

php - 无法从数据库中检索 longblob 音频文件

转载 作者:行者123 更新时间:2023-11-30 22:25:07 25 4
gpt4 key购买 nike

我正在将音频文件插入到我的数据库中并且我正在检索它们很好然后一些文件将不会被检索即使我使用相同的代码这里是代码getAudio.php

    <?php
include 'conn.php';
// to connect with the database
$id = $_GET['id'];
// validation just to be safe

$sql = "SELECT file FROM letters1 WHERE id=$id";
// choose the column from the table where the id= the id of the audio file

$result = mysql_query("$sql");
//query the audio file

$row = mysql_fetch_assoc($result);
//Returns an associative array

mysql_close($link);
//closes the non-persistent connection to the MySQL

header("Content-type: audio/mpeg");
//audio/wav for wav files mpeg for mp3 files, we used mp3 cuz
//wav didn't work on IE so just to be sure

echo $row['file'];
//calls the audio file and returns it in the src attribute
?>

返回blob文件.php

<?php include 'php/conn.php'
?>

<!DOCTYPE html>
<head><title>new</title></head>
<body>
<audio controls>
<source src="php/getAudio.php?id=14" type="audio/mpeg">
</audio>

</body>
</html>

我正在使用 phpMyAdmin,它在 ID 14、16、19、20 上停止并且它们不是空的,我一直在编辑它们。请帮助..提前致谢

最佳答案

撇开 SQL 注入(inject)不谈,您的代码似乎还不错。可能是您达到了一些内存或存储限制:

  • 猜测 1:您正在使用 blob 类型的字段,但您的文件比它大,并且在插入到表中时被截断了。使用容量更大的字段类型可能是一种解决方案(mediumblob 或 longblob)。

  • 猜测 2:file 字段的内容对于 php 内存限制来说太大了。您可以尝试通过以下方式允许更多:

使用 .htaccess 文件:

    php_value memory_limit 128M

或者在脚本顶部使用 ini_set:

    ini_set('memory_limit', '128M');

(32、64、128 或任何适合您的数字)

编辑:糟糕...没注意,标题已经说你正在使用 longblob ^^

关于php - 无法从数据库中检索 longblob 音频文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35491275/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com