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 코드를 작성합니다.
- 데이터베이스에 접속합니다.
mysqli_query
의 OOP 버전을 사용하여bio_data
테이블에서DESCRIBE
명령을 사용하십시오.fetch_all
을 사용하여 결과를 가져옵니다.- 첫 번째 행의 키를 가져옵니다. 첫 번째 행은 테이블 헤더가 됩니다.
- 표 머리글을 인쇄합니다.
- 테이블 행을 인쇄합니다.
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>
출력:
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