PHP에서 Mysqli_query를 사용하여 데이터베이스 테이블 설명

Habdul Hazeez 2024년2월15일
  1. 테스트 데이터베이스 설정
  2. PHP에서 mysqli_query로 테이블 설명
PHP에서 Mysqli_query를 사용하여 데이터베이스 테이블 설명

이 기사에서는 mysqli_query를 사용하여 데이터베이스 테이블을 설명하는 방법을 설명합니다. SQL에서 DESCRIBE 명령을 사용하여 설명을 수행합니다.

동시에 결과를 인쇄하고 MySQL 콘솔에서 볼 수 있는 것처럼 보일 것입니다.

테스트 데이터베이스 설정

우리가 설정할 테스트 데이터베이스에는 단일 테이블이 포함됩니다. 따라서 사용할 수 있는 MySQL 데이터베이스가 있는 경우 이 섹션을 건너뛰십시오.

데이터베이스를 시작하려면 Apache Friends에서 XAMPP를 다운로드 및 설치하십시오. XAMPP를 설치하면 콘솔이나 phpMyAdmin을 통해 MySQL에 액세스할 수 있습니다.

한편, 이 기사에서는 콘솔에서 MySQL에 액세스합니다. 따라서 XAMPP에서 MySQL 콘솔에 액세스하려면 다음을 수행하십시오.

  • XAMPP 제어판을 실행합니다.
  • 대화창의 오른쪽에 있는 Shell을 클릭하십시오. 그러면 콘솔이 시작됩니다.
  • mysql -u root -p를 입력하고 키보드에서 Enter 키를 누릅니다.

이 명령은 기본 데이터베이스 사용자 및 암호를 가정합니다. 기본 사용자는 root이고 암호는 비어 있습니다.

MySQL에 로그인한 후 다음 쿼리를 사용하여 데이터베이스를 생성합니다.

CREATE database user_details;

다음을 사용하여 새 데이터베이스로 전환합니다.

USE user_details;

이제 다음 쿼리를 사용하여 데이터베이스에 테이블을 만듭니다.

CREATE TABLE bio_data (
id INT NOT NULL AUTO_INCREMENT,
first_name VARCHAR(50) NOT NULL,
last_name VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL,
PRIMARY KEY (id)) ENGINE = InnoDB;

PHP에서 mysqli_query로 테이블 설명

mysqli_query를 사용하여 테이블을 설명하기 위해 다음을 수행하는 PHP 코드를 작성합니다.

  1. 데이터베이스에 접속합니다.
  2. mysqli_query의 ​​OOP 버전을 사용하여 bio_data 테이블에서 DESCRIBE 명령을 사용하십시오.
  3. fetch_all을 사용하여 결과를 가져옵니다.
  4. 첫 번째 행의 키를 가져옵니다. 첫 번째 행은 테이블 헤더가 됩니다.
  5. 표 머리글을 인쇄합니다.
  6. 테이블 행을 인쇄합니다.
    6.1. is_null을 사용하여 NULL 값을 테스트합니다.
    6.2. NULL 값에 대해 "NULL" 텍스트를 출력합니다.

다음은 위의 단계에 대한 PHP 코드입니다.

<head>
	<meta charset="utf-8">
	<title>Describe Table with mysqli_query</title>
	<style>
		body { display: grid; justify-content: center; align-items: center; height: 100vh; }
		table { border-collapse: collapse; width: 20em; }
		table,th, td { border: 1px dashed #1a1a1a; }
		td,th { padding: 0.5em; }
	</style>
</head>
<body>
	<main>
		<?php
		// The username is root
		// and the password is empty.
		$connection_string = new mysqli("localhost", "root", "", "user_details");
		// getting all the rows from the query
		$table_bio_data = $connection_string->query("DESC bio_data")->fetch_all(MYSQLI_ASSOC);
		// getting keys from the first row
		$header = array_keys(reset($table_bio_data));

		// Print the table
		echo "<table>";
		// Print the table headers
		echo "<tr>";
		foreach ($header as $value) {
		    echo "<th align='left'>$value</th>";
		}
		 echo "</tr>";
		// Print the table rows
		foreach ($table_bio_data as $row) {
			echo "<tr>";
		    foreach ($row as $value) {
		    	if (is_null($value)) {
		    		echo "<td>NULL</td>";
		    	} else {
		        	echo "<td>$value</td>";
		        }
		    }
		    echo "</tr>";
		}
		echo "</table>";
		?>
	</main>
</body>

출력:

Firefox 100의 MySQL 테이블에 대한 설명

Habdul Hazeez avatar Habdul Hazeez avatar

Habdul Hazeez is a technical writer with amazing research skills. He can connect the dots, and make sense of data that are scattered across different media.

LinkedIn

관련 문장 - PHP MySQL