使用 php 在 HTML 表中显示 sql 数据

Posted

技术标签:

【中文标题】使用 php 在 HTML 表中显示 sql 数据【英文标题】:Showing sql data in HTML table using php 【发布时间】:2018-05-17 20:40:53 【问题描述】:

我对 htmlphp 和 SQL 非常非常陌生,所以这个问题听起来可能不太聪明,但这种情况开始让我烦恼。

我想在我的网站上的 HTML 表中显示我的 mysql 数据库中名为“movies”的数据。该表名为“测试”。我知道我需要 php 来处理从 sql 到 html 的查询。

但是,我在这里和其他地方阅读了很多答案/教程,我无法让我的代码工作。

代码如下:

<?php
$connection = mysql_connect('localhost', 'root', 'password');
mysql_select_db('movies');

$query = "SELECT * FROM test";
$result = mysql_query($query);

echo "<table>";

while($row = mysql_fetch_array($result))
echo "<tr><td>" . $row['Name'] . "</td></tr>"; 


echo "</table>";

mysql_close();

?>

为了让我尽可能简单,该表只包含两个条目,只有 ID 和一个名称。

这是我在 Chrome 中以 html 格式打开网站时显示的内容:

"; while($row = mysql_fetch_array($result)) echo "" . $row['Name'] . ""; echo ""; mysql_close(); ?>

我不知道问题出在哪里,所以现在我转向这里。如果我的目标是在我的网站上的表格中显示我的表格中的两个条目,我需要在哪里修复我的代码中的内容?

仅仅是因为当我包含 php 代码时,我无法再在 Chrome 中打开文件了吗?如果是这样,我需要用什么程序打开文件?

感谢您抽出宝贵的时间,希望能给您一点帮助!

【问题讨论】:

警告:如果您只是学习 PHP,请不要学习过时的 mysql_query 接口。这很糟糕,已在 PHP 7 中删除。PDO is not hard to learn 之类的替代品和PHP The Right Way 之类的指南有助于解释最佳实践。确保确保您的用户参数为properly escaped,否则您将得到严重的SQL injection bugs。 考虑使用development framework 来解决此类问题。这些为您提供了将代码组织到适当的模型、视图和控制器上下文中的模式,并避免最终导致混乱的关注点,HTML、PHP、SQL 和 javascript 都混在一起。框架有多种形式,从像 Fat-Free Framework 这样的非常精简到像 Laravel 这样的功能非常全面,以及介于两者之间的许多地方。 如果你只是用 Chrome 从本地文件系统打开文件,它不会执行任何 PHP 代码。该文件需要从配置为使用 PHP 处理文件的 Web 服务器加载。 如果您看到 php 代码,则说明您没有或没有使用启用了 php 的网络服务器。你不能打开文件,它必须通过服务器提供红色 不要惊慌 / 史密斯:如果我理解正确,打开文件时我需要 XAMPP 之类的东西才能正确执行 PHP?并且只在处理 Html 时坚持使用 Chrome?有趣的是,教程似乎没有提到这一点。但是会在工作结束后立即安装,谢谢! 【参考方案1】:

尝试使用mysqli_query($connection, $query) 代替mysql_query($query)mysqli_fetch_array($result) 代替mysql_fetch_array($result)

注意$connection 变量,这是新的mysqli 所必需的。

您还需要使用新的 mysqli_connect。比如试试,

$connection = mysqli_connect('localhost, 'root', 'password', 'movies');

我假设“测试”是“电影”数据库中的一个表。

【讨论】:

我正在尝试复制,以便我可以接受答案,但似乎最新版本的 php 和 mysql 无法连接。尝试先解决这个问题:/ 你还需要使用新的mysqli_connect。例如,试试 $dbhost = 'localhost'; $dbuser = 'root'; $dbpass = '密码'; $dbname = '电影''; $connection = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);这将定义 $connection 变量。 谢谢!花了几个小时,重新安装了 Mysql Workbench(加上一些奇怪的错误消息),但它现在可以工作了!

以上是关于使用 php 在 HTML 表中显示 sql 数据的主要内容,如果未能解决你的问题,请参考以下文章

如何从多个SQL表中获取值并在html / php表中显示?

php显示取到表中某一列的全部数据

使用 PHP 将多个 SQL 列组合成 HTML 表的单个列

php查询sql表中数据,存在则返回显示1,不存在显示0

使用 PHP 和 JavaScript 动态搜索 SQL 表并在 HTML 上显示

如何将sql数据放入php表中