2011-02-02 5 views
1

meta_id, movie_id, meta_key, meta_valueMYSQL get column

열이있는 movie_meta 테이블이 있습니다. movie_id의 값을 알고 meta_key " 링크"의 meta_value 값을 가져 오려고합니다.

" movie_meta"

내부에 행 1|24|links|http://google.com이 있습니다. movie_id = 24를 요청하고 $link = 'http://google.com';를 얻습니다.

이 경우 실제로 SELECT은 무엇입니까?

이것을 시도했지만 모든 열을 제공합니다.

("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

2

사용 :

SELECT m.meta_value 
    FROM MOVIES m 
WHERE m.movie_id = ? 
    AND m.meta_key = 'links' 
문자열로 해석하는 작은 따옴표로 묶어야합니다
  • SQL에서. sprintf 사용
  • SELECT * 반환 테이블

PHPified에서 모든 열은 :

$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'