2011-02-02 64 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'