在 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