본문 바로가기
카테고리 없음

[PHP + MySQL] mysqli_fetch_array + 읽기

by 동국대 ICT 2021. 2. 6.

PHP 통해 정보를 파일에 저장할 수 있었습니다.

 

하지만, 여러가지 정보를 저장하기를 원하고

 

그 정보를 바탕으로 정보를 추출하고, 정렬하고

 

검색의 기능을 구현하기로 원하게 되었으며

 

이를 구현하기 위해서 PHP 와 MYSQL를 같이 사용해야 했습니다.

 

따라서 앞으로 PHP 와 MYSQL 을

 

같이 사용하는 방법에 대해서 말씀드리겠습니다.

 

PHP + MYSQL

 

< PHP MYSQL mysqli_fetch_array >

 

mysql에서 가져온 정보를 php로 다룰 줄 알아야 합니다.

 

하지만 mysql과 .php는 다른 언어이기에

 

약간의 작업을 필요로 합니다.

 

mysqli_fetch : mysql을 가져온다

 

mysqli_fetch_array : mysql을 array 형태로 가져온다.

 

mysqli_fetch_array( select,);

 

안에 들어가 있는 정보

 

1번째 행만을 다루고 있음.

 

값들이 두번씩 반복됨( 1개는 수, 1개는 column명 )

 

-> 데이터 가져오는 방법이 숫자나 column 2가지 방식으로 가져올 수도 있음

 

cf> column으로 가져오면 연관 배열임.

 

수로 가져오면 배열임.

 

<하나의 행에 대하여 가져오는 방식>

 

echo '<h1>'.$row['title'].'</h1>';

echo $row['description'];

 

따라서 위와 같은 코드로 지정하여 출력이 가능합니다.

 

<여러 행에 대하여 가져오는 방식>

 

echo '<h1>'.$row['title'].'</h1>';

echo $row['description'];

을 반복하면 다음 행에 대한 데이터가 출력됩니다.

행이 끝나면 다시 echo문을 사용하여도 값이 나오지 않습니다. (NULL)

 

하지만 이는 재활용성이 좋지 않습니다.

 

자세히 보시면 반복적인 코드를 사용하고 있는 것을 확인하실 수 있습니다..

 

while($row = mysqli_fetch_array($result)) {
echo '<h2>'.$row['title'].'</h2>';
echo $row['description'];
}

 

이는 PHP에서는 NULL과 FALSE를 같게 보기 때문입니다.

 

따라서 PHP 상에서 모든 항을 가져올 수 있으며

 

다음 행이 없을시에는 PHP 상에서 반복문을 중단하는 것을 알 수 있습니다.

 

php code

< PHP MYSQL 읽어오기 >

$sql = "SELECT * FROM topic";
$result = mysqli_query($conn, $sql)
;$list = '';


while($row = mysqli_fetch_array($result))
{ $list = $list."<li><a href=\"index.php?id={$row['id']}\">{$row['title']}</a></li>";}

$sql = "SELECT * FROM topic";

 

topic이라는 테이블에 담긴 값들을 모두 표현시킵니다.

 

$result = mysqli_query($conn, $sql);

 

mysql 서버에 query하는 문장입니다.

 

opentutorials에 접속한 뒤 topic 테이블에 담긴 값들을

 

모두 표현하라는 뜻입니다.

 

var_dump($result->num_rows);

 

mysqli_query의 출력값은 배열의 형태입니다.

 

그 중 열, 행의 길이 등 여러가지 mysqli_query 문에 대한 정보가 들어있는데

 

행에 대한 수를 출력하는 코드입니다.

 

데이터 베이스 보안

 

 

댓글