首页 > 解决方案 > (PHP,MySQL) 将 SQL 表中的信息添加到具有相同字段 id 的 PHP 网页表中

问题描述

我的英语不太好,而且我是 php 新手。所以,也许你会对我的问题感到厌烦。我真的很抱歉。

这是问题: 我在 SQL 数据库中创建了一个表,如下所示:

-    ID       名称        图片
 - 1 约翰·约翰.jpg
 - 1 朵拉 h.jpg
 - 1 丹麦人 hkjpg
 - 2 Mougli f.jpg
 - 3 Mona g.jpg

我想在我的网页中创建的表格中显示数据,如下所示:

-    ID       名称        图片
 - 1 约翰·约翰.jpg
 - 1 朵拉 h.jpg
 - 1 丹麦人 hkjpg

我想在我的网页中显示 ID 为“1”的所有信息,而其他信息不会出现在表格中。我想使用循环来做到这一点。如果你知道怎么做,那么请尝试用完整的 php 代码回答(我的意思是代码应该从连接数据库到页面开始,到循环表中的信息结束。当然,如果你愿意,这取决于你写完整的代码。但这对我很有帮助)。

提前致谢。

标签: phpmysqlsqldatatables

解决方案


我建议使用 PDO:https ://www.php.net/manual/en/class.pdo.php 您想从 __construct 和查询函数开始。查询将返回您可以获取的 PDOStatement 对象。您的代码应如下所示:

// Connect
$host = '127.0.0.1';
$db   = 'test';
$user = 'root';
$pass = '';
$charset = 'utf8mb4';

$options = [
    \PDO::ATTR_ERRMODE            => \PDO::ERRMODE_EXCEPTION,
    \PDO::ATTR_DEFAULT_FETCH_MODE => \PDO::FETCH_ASSOC,
    \PDO::ATTR_EMULATE_PREPARES   => false,
];
$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
$pdo = new \PDO($dsn, $user, $pass, $options);

// Query
$statement = $pdo->query("SELECT * FROM your_table WHERE ID = 1");

// Fetch
$data = $statement->fetchAll();
foreach ($data as $row) {
    echo $row['ID'].', '.$row['name'].', '.$row['PICTURE']."<br />\n";
}

推荐阅读