0

我正在尝试通过遵循有关图像上传网站的某个教程来完成工作任务。我卡住的部分是显示创建的专辑。这是相关代码(如果我遗漏了什么,请询问更多)。

function get_albums() {

$albums = array();

$albums_query = mysql_query("
SELECT `albums`.`album_id`, `albums`.`timestamp`, `albums`.`name`,     LEFT(`albums`.`description`, 50) as `description`, COUNT(`images`.`image_id`) as `image_count`
FROM `albums`
LEFT JOIN `images`
ON `albums`.`album_id` = `images`.`album_id`
WHERE `albums`.`user_id` = ".$_SESSION["user_id"]."
GROUP BY `albums`.`album_id`
");


while($albums_row = mysql_fetch_assoc($albums_query))
{
    $albums[] = array(
                      'id' => $albums_row["album_id"],
                      'timestamp' => $albums_row["timestamp"],
                      'name' => $albums_row["name"],
                      'description' => $albums_row["description"],
                      'count' => $albums_row["image_count"]
                      );
}

return $albums;


}
function create_album($album_name, $album_description) {
    $album_name = mysql_real_escape_string(htmlentities($album_name));
    $album_description = mysql_real_escape_string(htmlentities($album_description));

        mysql_query("INSERT INTO `albums` VALUES ('', '".$SESSION["user_id"]."', UNIX_TIMESTAMP(), '$album_name', '$album_description')");
        mkdir('uploads/' .mysql_insert_id(), 0744);
        mkdir('uploads/thumbs/' .mysql_insert_id(), 0744);


}

这就是我认为相关的所有内容以及我认为问题所在的位置。这是专辑应该显示的地方:

<?php
$albums = get_albums();

if (empty($albums)) {
 echo '<p> You don\'t have any albums</p>';
} else {

    foreach ($albums as $album) {
        echo '<p>
        <a href="view_album.php?album_id=', $album['id'], '">', $album['name'], '</a> (', $album['count'], ' images)<br />
        ', $album['description'], '...<br />

        <a href="edit_album.php?album_id=', $album['id'], '">Edit</a> / <a href="delete_album.php?album_id=', $album['id'], '">Delete</a>
        </p>';
    }
}

include 'template/footer.php'

?>

但是我总是收到一条消息说我没有专辑,这让我认为他总是认为专辑数组是空的。我能做些什么来纠正这个问题?

4

1 回答 1

0

您正在使用$_SESSION["user_id"],但我没有session_start()在您的文件中看到任何地方。可能是您的会话未填充。

另一种可能性是您的用户没有任何相册。

顺便说一句,请将您的脚本迁移到mysqli

建议使用 mysqli 或 PDO_MySQL 扩展。不建议在新开发中使用旧的 mysql 扩展,因为它在 PHP 5.5.0 中已被弃用,并且将来会被删除。

来自http://www.php.net/manual/en/mysqlinfo.api.choosing.php

于 2013-03-10T05:23:36.650 回答