2011-02-02 67 views
1

有一個表movie_meta的列meta_id, movie_id, meta_key, meta_valueMYSQL獲得列

我知道movie_id的價值,並希望得到的meta_key鏈接」的meta_value值。

就像我們有一個行內1|24|links|http://google.commovie_meta

我們爲movie_id = 24的請求,並得到$link = 'http://google.com';

,這是什麼真正的SELECT

Tryed這一點,但它給所有列:

("SELECT * FROM movies WHERE movie_id = 24 AND meta_key = links"") 

感謝。

回答

3

SELECT *將返回所有列。

要獲得meta_value使用纔有價值select meta_value ...

全面查詢:

SELECT meta_value 
FROM movie_meta 
WHERE movie_id = 24 AND meta_key = '$link' 
+0

你確定meta_key = '$鏈接'?看起來奇怪 – James 2011-02-02 16:16:59

2

用途:

SELECT m.meta_value 
    FROM MOVIES m 
WHERE m.movie_id = ? 
    AND m.meta_key = 'links' 
  • 字符串必須用單引號被解釋爲如SQL中。
  • SELECT *回報從表

PHPified所有列,使用sprintf

$query = sprintf("SELECT m.meta_value 
        FROM MOVIES m 
        WHERE m.movie_id = %d 
        AND m.meta_key = '%s'", 
        $movie_id, 
        $meta_value) 
2
SELECT meta_value AS link 
    FROM movies 
    WHERE movie_id = 24 
     AND meta_key = 'links'