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

我对 HTML、PHP 和 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?有趣的是,教程似乎没有提到这一点。但是会在工作结束后立即安装,谢谢!

标签: php html mysql sql


【解决方案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(加上一些奇怪的错误消息),但它现在可以工作了!
猜你喜欢
  • 2014-05-27
  • 1970-01-01
  • 1970-01-01
  • 2018-04-25
  • 2014-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多