2014-04-27 2 views
0

모든 PHP 레거시 코드를 PDO Stat으로 이동하려고합니다. 모두 잘 작동하는 것 같지만, 나는 보통 이런 경우에 mysql_data_seek 함수를 사용하고 PDO를위한 방법을 찾으려하지만, 솔직히 이것과 관련된 것을 찾지 못합니다.PDO에 대한 Mysql_data_seek?

$query = $conn->query("SELECT * sometable"); 
$array = $query->fetch(); 

$name = $array['name']; 

// It outputs just one row, that's what I really want to, so I want to loop it now. 

foreach($query->fetchAll() as $loop){ 
    echo $loop['name'] 
} 

// This time I don't get anything... 

어떤 제안 : 이것은 내가 실제로 그래서

$query = mysql_query("SELECT * sometable"); 
$array = mysql_fetch_assoc($query); 

$name = $array['name'] 

// $name is returned well, but now I want to loop it, so I use mysql_data_seek to reset the query. I want just one row, not more. 

mysql_data_seek($query, 0); 

// now i can loop 

while($arr = mysql_fetch_assoc($array)){ 
    echo "name: " . $arr[$arr]; 
} 

(PDO없이) 일을 지금은 이런 일을 할 노력하고있어인가? 감사!

+1

어쨌든 모든 결과를 검색하는 경우 배열에 보관하고 처음에는'[0] [ "name"]'행을 사용하십시오. – mario

답변

0

같은 데이터를 두 번 가져 오는 것은 의미가 없습니다.
mysqli에서 잘못 했으므로 pdo로 반복해서는 안됩니다.

$query = $conn->query("SELECT * sometable"); 
$array = $query->fetchAll(); 
foreach($array as $row){ 
    echo $row['name']; 
} 
+2

@YCS, 이미이 질문의 정확한 사본이 있습니다. 왜 대답할까요? –

+0

감사합니다. 매우 유용했습니다. :) –

+0

@ShankarDamodaran 복제본을 읽었습니까? –

관련 문제