본문 바로가기

[ programing ]/PHP

[PHP]mysql_fetch_row 와 mysql_fetch_array 다른 점

Mysql_fetch_row사용 예 

<? 
$connect=mysql_connect('localhost','user id','password'); 
mysql_select_db("dbname",$connect); 

$query="select num,title,content from board"; 
$result=mysql_query($query,$connect); 
$row=mysql_fetch_row($result);  // 레코드를 한개씩 배열로 저장

echo "$row[0],$row[1],$row[2]"; 

echo "$row[0] // 테이블의 전체 레코드 개수 저장


?> 

Mysql_fetch_array사용 예 

<? 
$connect=mysql_connect('localhost','user id','password'); 
mysql_select_db("dbname",$connect); 

$query="select num,title,content from board"; 
$result=mysql_query($query,$connect); 
$row=mysql_fetch_array($result); 

echo "$row[num],$row[title],$row[content]"; 
?> 

위의 두 예제를 보시면 이해가 되시나요..

mysql_fetch_row는 데이터베이스에서 가져온 데이터를 배열로 패치(fetch)할 때 0부터 배열이름을 부여합니다.

하지만 mysql_fetch_array는 정돈된 데이터베이스의 필드이름을 그 값의 key값으로 가져오게 됩니다. 

보통 select할 데이터 필드가 적을 경우라면 mysql_fetch_row를 사용해도 상관없지만 만약 select할 데이터 필드가 많다면 mysql_fetch_array를 사용하여 필드 이름을 배열의 key값으로 가져오는것이 훨씬 유리합니다. 

만약 select할 필드 값이 많은데 mysql_fetch_row를 사용했다면 어떻게 될까영..후후.. 
고달프겠졍...하나,두울,세엣,네엣.......열...ㅡㅡ;