0

以下函数提供了除艺术家 ID 之外的所有相关数据,运行时我检查了数据库中的所有元素并确定。

如果我将 artist_id 更改为实际的“id”,它会在函数结果中显示为 WHERE artist_id = 4 AND.......

承认我不明白是什么原因造成的。

函数结果:

SELECT `image_album_id`, `member_id`, `artist_id`,     `albumname`, `ext`, `timestamp`
FROM album_images WHERE artist_id = AND member_id = 1 AND        
image_album_id = 160

<?php
function get_data_nxtprv($fields, $where) {
$return = FALSE;

// Template
$template = "SELECT %s "
    . "FROM album_images "
. "WHERE artist_id = " . $artist_id. " 
       AND member_id = ".$_SESSION['member_id']." %s";

// Current record 
$sql    = sprintf($template, $fields, $where);
$query  = mysql_query($sql);
$query_result = mysql_fetch_assoc($query);

//print_r($sql);
// If data has been found
if ($query_result)
{
    $return = $query_result;
}

return $return;
?>
4

2 回答 2

0

我不完全确定我理解你的问题。但我注意到您的函数使用三个输入变量:

$artist_id, $fields, $where

但是 $artist_id 没有作为参数传递。

您需要修改函数调用:

function get_data_nxtprv($artist_id, $fields, $where) 
于 2012-10-08T04:37:35.313 回答
0

您的 SQL 中有错误

SELECT `image_album_id`, `member_id`, `artist_id`, `albumname`, `ext`, `timestamp`
FROM album_images WHERE artist_id = AND member_id = 1 AND        
image_album_id = 160

不应该

SELECT `image_album_id`, `member_id`, `artist_id`, `albumname`, `ext`, `timestamp`
FROM album_images WHERE member_id = 1 AND        
image_album_id = 160

如果artist_id是您正在寻找的领域之一?

于 2012-10-08T10:51:57.783 回答