PHP 从 mySQL 数据库查询音频文件

Posted

技术标签:

【中文标题】PHP 从 mySQL 数据库查询音频文件【英文标题】:PHP query audio files from mySQL database 【发布时间】:2018-11-15 05:27:01 【问题描述】:

我已将音频文件上传到我的 php 网站。我有一个连接到网站的 mysql 数据库,其中包含一个表,如以下链接中的屏幕截图所示: mySQL Table Screenshot

现在,当您在网站上输入搜索时,它会从数据库中的表中返回相应的 yupikWord、englishWord 和音频条目。音频条目是位于 Web 服务器上的音频文件的名称。

我需要帮助:如果它知道位于网络服务器上的音频文件的名称,我该如何制作它以返回录音?

这是我的 mySQL 查询的 PHP 代码:

<?php
    error_reporting(E_ALL);
    ini_set('display_errors',1);

    include_once('db.php'); //Connect to database
    if(isset($_POST['q']))
        $q = $_POST['q'];

    //get required columns
    $query = mysqli_query($conn, "SELECT * FROM `words` WHERE `englishWord` LIKE '%$q%' OR `yupikWord` LIKE '%$q%'") or die(mysqli_error($conn)); //check for query error
        $count = mysqli_num_rows($query);
if($count == 0)
  $output = '<h2>No result found</h2>';
else
  while($row = mysqli_fetch_assoc($query))
    $output .= '<h2>'.$row['yupikWord'].'</h2><br>';
    $output .= '<h2>'.$row['englishWord'].'</h2><br>';
    $output .= '<h2>'.$row['audio'].'</h2><br>';
  

echo $output;
else
"Please add search parameter";

mysqli_close($conn);
?>

这是我网站上搜索栏的 html 代码:

<head>
<title>Search</title>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <link rel="stylesheet" type="text/css" href="style.css"/>
 </head>
 <body>
<form method="POST" action="search.php">
  <input type="text" name="q" placeholder="Enter query"/>
  <input type="submit" name="search" value="Search" />
</form>
</body>

【问题讨论】:

您是否在询问如何返回文件,如果您有文件名?将链接(&lt;a href=""&gt; 标签)输出到文件是否足够,以便当用户单击链接时浏览器下载文件? 【参考方案1】:

如果您将音频放入 ,结果将是文本,而不是音频。所以你需要把你的音频链接放在这样的标签中

<audio controls>
  <source src="/link/to/mp3/<?php echo $row['audio'] ?>" type="audio/mpeg">
</audio>`

希望对您有所帮助。

【讨论】:

以上是关于PHP 从 mySQL 数据库查询音频文件的主要内容,如果未能解决你的问题,请参考以下文章

PHP : MySQLi面向过程操作数据库 连接建库建表增删改查关闭

php+mysql多条件多值查询

PHP从Mysql查出来的数据转换成json格式中文乱码怎么解决

如何在PHP中获取MYSQL数据库返回的数据的行数?

PHP查询MYSQL数据库,没有数据

PHP & MySQL数据库专题 第三课 增删改查