0

次の関数は、artist_id を除くすべての関連データを提供します。実行すると、データベース内のすべての要素がチェックされ、OK です。

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

私はあなたの質問を完全に理解しているわけではありません。しかし、関数が3つの入力変数を使用していることに気づきました。

$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探しているフィールドの 1 つですか?

于 2012-10-08T10:51:57.783 に答える