> php教程 > php手册 > [이전] mysql_fetch_row, mysql_fetch_array, mysql_fetch_assoc의 차이점

[이전] mysql_fetch_row, mysql_fetch_array, mysql_fetch_assoc의 차이점

WBOY
풀어 주다: 2016-09-29 09:19:02
원래의
1162명이 탐색했습니다.
<?<span style="color: #000000;">php
</span><span style="color: #800080;">$link </span>= <span style="color: #008080;">mysql_connect</span>('localhost', 'root', <span style="color: #000000;">&rdquo;);
</span><span style="color: #008080;">mysql_select_db</span>('abc', <span style="color: #800080;">$link</span><span style="color: #000000;">);
</span><span style="color: #800080;">$sql</span> = &ldquo;select *<span style="color: #000000;"> from book&rdquo;;
</span><span style="color: #800080;">$result</span> = <span style="color: #008080;">mysql_query</span>(<span style="color: #800080;">$sql</span><span style="color: #000000;">);
</span><span style="color: #0000ff;">while</span>(<span style="color: #800080;">$row</span> = <span style="color: #008080;">mysql_fetch_row</span>(<span style="color: #800080;">$result</span><span style="color: #000000;">))
{
  </span><span style="color: #0000ff;">echo</span> <span style="color: #800080;">$row</span>['cid'].'::'.<span style="color: #800080;">$row</span>[1].'<br>'<span style="color: #000000;">;
}
</span><span style="color: #800080;">$result</span> = <span style="color: #008080;">mysql_query</span>(<span style="color: #800080;">$sql</span><span style="color: #000000;">);
</span><span style="color: #0000ff;">while</span>(<span style="color: #800080;">$row</span> = <span style="color: #008080;">mysql_fetch_array</span>(<span style="color: #800080;">$result</span><span style="color: #000000;">))
{
  </span><span style="color: #0000ff;">echo</span> <span style="color: #800080;">$row</span>['cid'].'::'.<span style="color: #800080;">$row</span>[1].'<br>'<span style="color: #000000;">;
}
</span><span style="color: #800080;">$result</span> = <span style="color: #008080;">mysql_query</span>(<span style="color: #800080;">$sql</span><span style="color: #000000;">);
</span><span style="color: #0000ff;">while</span>(<span style="color: #800080;">$row</span> = <span style="color: #008080;">mysql_fetch_object</span>(<span style="color: #800080;">$result</span><span style="color: #000000;">))
{
  </span><span style="color: #0000ff;">echo</span> <span style="color: #800080;">$row</span>->cid.'::'.<span style="color: #800080;">$row</span>->title.”<br><span style="color: #000000;">”;
}
</span><span style="color: #800080;">$result</span> = <span style="color: #008080;">mysql_query</span>(<span style="color: #800080;">$sql</span><span style="color: #000000;">);
</span><span style="color: #0000ff;">while</span>(<span style="color: #800080;">$row</span> = <span style="color: #008080;">mysql_fetch_assoc</span>(<span style="color: #800080;">$result</span><span style="color: #000000;">))
{
  </span><span style="color: #0000ff;">echo</span> <span style="color: #800080;">$row</span>['cid'].'::'.<span style="color: #800080;">$row</span>[1].'<br>'<span style="color: #000000;">;
}
</span>?>
로그인 후 복사

분석:
mysql_fetch_row, 이 함수는 결과 집합의 행을 열거 데이터로 취하고, 지정된 결과 식별자와 연결된 결과 집합에서 데이터 행을 가져와서 배열로 반환합니다. 각 결과 열은 오프셋 0부터 시작하여 배열의 셀에 저장됩니다. 여기서 오프셋은 0부터 시작합니다. 즉, 필드 이름을 사용하여 값을 가져올 수 없으며 인덱스만 사용하여 값을 가져올 수 있으므로 다음 코드는 값을 가져올 수 없습니다.
While($row = mysql_fetch_row($ res)){
 echo $row['cid'].'::'.$row[1].";
 } //$row['cid'] 여기서는 가져올 수 없습니다.
mysql_fetch_array, 결과 집합에서 연관 배열이나 숫자 배열 또는 둘 다로 행을 가져옵니다. 데이터를 숫자 인덱스로 배열에 저장하는 것 외에도 데이터를 연관 배열로 저장할 수도 있습니다. 즉, 그가 얻는 결과는 배열과 같으며 키 또는 인덱스로 값을 얻을 수 있으므로
 while($row = mysql_fetch_array($res)) {
 echo $row['cid'] .'::'.$row[1].”
 }//여기서 $row['cid'], $row[1]는 해당 값을 얻을 수 있습니다. .
mysql_fetch_object는 이름에서 알 수 있듯이 결과 세트에서 행을 객체로 가져오고 필드 이름을 속성으로 사용합니다. 따라서 값을 얻는 유일한 방법은
while($row = mysql_fetch_object($res)){
echo $row->cid.'::'.$row->title."";
 }
mysql_fetch_assoc은 결과 집합에서 연관 배열로 행을 가져옵니다. 즉, 이 함수는 mysql_fetch_row와 같은 값을 가져오기 위해 인덱스를 사용할 수 없고 필드 이름만 사용할 수 있으므로
 while ($row = mysql_fetch_assoc( $res)){
 echo $row['cid'].'::'.$row[1].”
 } //$row[1]은 가져올 수 없습니다.
추가 사항:
mysql_fetch_array 함수는 다음과 같이 정의됩니다: array mysql_fetch_array(리소스 결과 [, int result_type]), 결과 집합에서 얻은 행을 기반으로 생성된 배열을 반환하고 FALSE를 반환합니다. 더 이상 행이 없는 경우 mysql_fetch_array()의 선택적 두 번째 매개변수 result_type은 MYSQL_ASSOC, MYSQL_NUM 및 MYSQL_BOTH 값을 허용하는 상수입니다. 여기서:
1. , MYSQL_ASSOC);
2. mysql_fetch_row($result) == mysql_fetch_array($result, MYSQL_NUM);
그래서 mysql_fetch_array() 함수는 어느 정도 mysql_fetch_row()와 mysql_fetch_assoc()의 집합으로 간주될 수 있습니다. 또한, mysql_fetch_array()에는 연관 및 숫자 인덱스를 모두 포함하는 배열을 가져오는 MYSQL_BOTH 매개변수도 있습니다.
$row = $db->fetch_array($query); db는 휴먼 데이터베이스 작업 클래스, $.db->fetch_array($query), fetch_array($query)는 해당 db 클래스의 메소드, $row = $db->fetch_array($query)는 레코드 세트의 데이터베이스 $query 레코드 한 줄.

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿