MySQL 데이터베이스에서 데이터 읽기
SELECT 문은 데이터 테이블에서 데이터를 읽는 데 사용됩니다.
table_name에서 컬럼_이름을 선택하세요.
* 기호를 사용하여 데이터 테이블의 모든 필드를 읽을 수 있습니다.
SELECT * FROM 테이블_이름
SQL에 대해 자세히 알아보려면 SQL 튜토리얼을 방문하세요.
MySQLi 사용
다음 예에서는 myDB 데이터베이스의 MyGuests 테이블에서 id, firstname 및 lastname 열의 데이터를 읽고 이를 페이지에 표시합니다.
예(MySQLi - 객체 지향)
<?php $servername = " localhost " ; $username = " 사용자 이름 " ; $password = " 비밀번호 " ; $ dbname = " myDB " ; $conn = 새로운 mysqli ( $servername , $username , $ password , $dbname ) // 연결 확인 만약에 ( $conn -> 연결_오류 ) { die ( " 연결 실패: " . $conn - > connect_error ) ; $sql = " MyGuests에서 ID
, 이름, 성 선택 " ; $result = $conn -> 쿼리 ( $sql ) ; ( $result -> num_rows > 0 ) { // 데이터 출력 while ( $row = $result -> fetch_assoc ( ) ) { 에코 " id: " . $row [ " id " ] . " - 이름: " . $ row [ " 이름 " ] . " . $row [ " 성 " ] . " <br> " ; } } 또 다른 { 에코 " 0 결과 " ; $conn -> 닫기 ( ) ? > 위의 코드는 다음과 같이 분석됩니다.
먼저 MyGuests 데이터 테이블에서 id, firstname 및 lastname 세 필드를 읽도록 SQL 문을 설정했습니다. 그런 다음 수정된 SQL 문을 사용하여 데이터베이스에서 결과 집합을 검색하고 이를 복사된 변수 $result에 할당합니다.
num_rows() 함수는 반환된 데이터를 결정합니다.
여러 조각의 데이터가 반환되면 fetch_assoc() 함수는 결합된 집합을 연관 배열에 넣고 이를 루프로 출력합니다. while()은 결과 집합을 반복하고 id, firstname 및 lastname의 세 가지 필드 값을 출력합니다.
다음 예제에서는 MySQLi의 프로세스 지향 접근 방식을 사용하며 그 효과는 위 코드와 유사합니다.
예(MySQLi - 프로시저 지향)
<?php $servername = " localhost " ; $username = " 사용자 이름 " ; $password = " 비밀번호 " ; $ dbname = " myDB " ; $conn = mysqli_connect ( $servername , $username , $password , $dbname ) ; // 연결 확인 만약에 ( ! $콘 ) { die ( " 연결 실패 : " . mysqli_connect_error ( ) ) ; $sql = " MyGuests에서 ID, 이름, 성 선택 " ; $ result = mysqli_query ( $conn , $sql ) ; ( mysqli_num_rows ( $result ) > 0 ) { // 데이터 출력 동안 ( $row = mysqli_fetch_assoc ( $result ) ) { 에코 " id: " . $row [ " id " ] . " - 이름: " . $ row [ " 이름 " ] . " . $row [ " 성 " ] . " <br> " ; } } 또 다른 { 에코 " 0 결과 " ; mysqli_close ( $conn ) ? > PDO 사용(+ 전처리)
다음 예에서는 준비된 문을 사용합니다.
MyGuests 테이블에서 id, firstname 및 lastname 필드를 선택하여 HTML 테이블에 배치했습니다.
예시(PDO)
<?php 에코 " <테이블 스타일='테두리: 단색 1px 검정색;' > " ; " <tr><th>ID</th><th>이름</th><th>성</th> </tr> " ; 테이블 행 연장하다 재귀반복자반복자 { 기능 __구조 ( $it ) { 부모 :: __construct ( $ it , self :: LEAVES_ONLY ) } 기능 현재의 ( ) { 반품 " <td style='width:150px;border:1px Solid black; ' > " . 상위 :: 현재 ( ) " </td> " ; 기능 시작어린이 ( ) { 에코 " <tr> " } 기능 endChildren ( ) { 에코 " </tr> " . " n " ; } $ servername = " localhost " ; $ username = " 사용자 이름 " ; $ password = " myDBPDO " ; { $conn = 새로운 PDO ( " mysql:host= $servername ;dbname= $dbname " , $username , $password ) ; $conn -> setAttribute ( PDO :: ATTR_ERRMODE , PDO :: ERRMODE_EXCEPTION ) $stmt = $ conn -> 준비 ( " SELECT ID, 이름, 성 FROM MyGuests " ) ; $stmt -> 실행 ( ) ; // 결과 집합을 연관 배열로 설정합니다. $ result = $stmt -> setFetchMode ( PDO :: FETCH_ASSOC ) foreach ( 신규 TableRows ( 새 RecursiveArrayIterator ( $stmt -> fetchAll ( ) ) ) ~처럼 $k => $v ) { 에코 $ v } } 잡기 ( PDO예외 $e ) { 에코 " 오류: " . $e - > getMessage ( ) ; $콘 = 널 에코 ; " </테이블> " ? >