2013-06-09 8 views
1

Ok PHP가 배열과 조금 혼동스러워졌습니다. 내가 말을 검색 할 때이 지금 코드배열의 정보에 액세스하기

$search = "%" . $search ."%"; 
// Step 1: Establish a connection 
$db = new PDO("mysql:host=localhost;dbname=########", "#########", "###########"); 

// Step 2: Construct a query 
$query = "SELECT * FROM movies WHERE title LIKE " . $db->quote($search); 

// Step 3: Send the query 
$result = $db->query($query); 

// Step 4: Iterate over the results 
while($row = $result->fetch(PDO::FETCH_ASSOC)) { 
    var_dump($row); 
    echo $row['title']; 
} 

// Step 5: Free used resources 
$result->closeCursor(); 
$db = null; 

이다 "캔디맨"는 6 개 결과를 반환 내가 뭘 트링하고하는 것은 $row['title'][3] (그래서 배열의 세번째 영화의 제목을 잡을 수 있습니다) 같은입니다 그러나 이것은 작동하지 않습니다 $row['title']; 6 개 타이틀 모두 표시 다음 레벨에 액세스하려면 어떻게합니까? 다음은

어떤 도움을 주시면 감사하겠습니다 손실에서 나는 초보자 질문 죄송하지만 임 http://www.gorrors.com/moviesearch.php?search=candyman

을 사용하고있는 검색 링크입니다.

답변

0

당신은 Grouping all values by a single column을 시도 할 수 있습니다 :

//do not use * in your sql if you only need the imfromation of movie title 
$query = "SELECT title FROM movies WHERE title LIKE " . $db->quote($search); 

$result = $dbh->prepare($query); 
$result->execute(); 

$row = $result->fetchAll(PDO::FETCH_COLUMN|PDO::FETCH_GROUP); 
var_dump($row); 
//$row['title'][2] will give the third result,not $row['title'][3] 
관련 문제