在 PHP 中使用 Mysqli_query 描述資料庫表
Habdul Hazeez
2024年2月15日
本文將教你如何使用 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 程式碼來執行以下操作。
- 連線資料庫。
- 使用 OOP 版本的
mysqli_query
對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
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