在 PHP 中使用 Mysqli_query 描述資料庫表

Habdul Hazeez 2023年1月30日 2022年6月7日
  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. 使用 OOP 版本的 mysqli_querybio_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