【发布时间】:2014-09-07 15:11:52
【问题描述】:
我对 PHP 有点陌生,我正在建立一个音乐库作为一个学校项目。
有一个表'albums',其中包含'id'和'name'。 以及一个包含“id”、“name”、“album_id”和“path”的表“songs”。
长话短说,我正在尝试显示所选专辑中的所有歌曲。 用户创建一个专辑,然后将歌曲上传到其中。该部分效果很好,并且数据库已正确填写。 问题是,一旦我选择了一张专辑来查看其中的歌曲,我什么也得不到。
<?php
$album_id = $_GET['id'];
//display songs from selected album
$query = mysql_query("SELECT * FROM songs WHERE album_id = $album_id");
while ($fetch_songs = mysql_fetch_array($query)) {
$song_name = $fetch_songs['name'];
$song_path = $fetch_songs['path'];
?>
<a href="music/<?php echo $song_path ?>">play song</a>
<br/>
<b><?php echo $song_name; ?></b>
<?php
}
?>
</div>
我相信使用 href 将是最简单的选择,但我也尝试过音频控件,甚至尝试使用 img src 而不是 MP3 上传图像,但仍然没有成功,我只是得到一个空白页面。
这是歌曲上传到数据库的代码。
if (isset($_POST["upload"])) {
$name = $_POST['name'];
$album_id = $_POST['album'];
$file_name = $_FILES['file']['name'];
$file_type = $_FILES['file']['type'];
$file_size = $_FILES['file']['size'];
$file_tmp = $_FILES['file']['tmp_name'];
$random_name = rand();
if (empty($name) || empty($file_name)) {
echo "Please fill all fields in the form ! <br/>";
} else {
move_uploaded_file($file_tmp, 'music/' . $random_name . '.mp3');
mysql_query("INSERT INTO songs VALUES ('','$name','$album_id','$random_name.mp3')");
echo "File uploaded ! </br></br>";
}
}
?>
感谢您的帮助。
【问题讨论】:
-
在您打开
<?php标记error_reporting(E_ALL); ini_set('display_errors', 1);后立即将错误报告添加到文件顶部,看看它是否产生任何内容,包括or die(mysql_error())到mysql_query()。 -
不,没有收到任何错误报告。
-
是白蛋白不是整数,您需要将其括在引号中
-
你的意思是这样? : ("SELECT * FROM song WHERE 'album_id = $album_id'") 似乎没有任何区别。
标签: php mysql while-loop