【问题标题】:How to link MySQL to html如何将 MySQL 链接到 html
【发布时间】:2012-02-29 05:55:30
【问题描述】:

我正在尝试在 gedit 中使用 html 创建一个网站,我需要能够在主页上登录或注册,然后将用户带到他们在网站上的页面,在那里他们可以输入消息,我需要将消息输入数据库,并能够在网站的另一个页面上显示它。当使用表单创建信息时,我对如何将 html 链接到 MySQL 感到困惑。 如果有人可以帮助我,我将不胜感激, 提前致谢。

【问题讨论】:

  • 对于动态应用程序,您需要选择编程中可用的语言。您不能仅在静态 Web 应用程序中执行此操作,例如仅使用 HTML 页面。
  • HTML5 自带解决方案,所以你可以查看那里的文档
  • @Sam Arul Raj — 有多种客户端 SQL 解决方案。它们都不在 HTML 5 中(它们几乎同时出现)。它们都不是 MySQL。它们都对登录系统没有任何好处(因为您不能将共享用户数据库存储在浏览器中!)。
  • @Quentin 非常感谢,我意识到了

标签: javascript mysql html sql gedit


【解决方案1】:

您需要使用一些服务器端语言来执行此操作。它的工作方式是表单将有一个与之关联的 URL,用于将数据提交到的位置。这个页面应该是一个 PHP 脚本或 ASP 页面或类似的东西。

一旦您有了 PHP 脚本,您就可以连接到数据库并根据数据的需要插入记录。

如果您不熟悉,这里是一个很好的资源: http://www.w3schools.com/php/php_mysql_insert.asp

【讨论】:

  • 我一直在使用那个网站,但我真的不明白如何设置这一切。我已经安装了 MySQL 和 gedit,我还需要它的 sql 方面的东西吗?
  • 对于 sql 方面没有,但那篇文章将引导您了解 PHP 方面,这很重要,无法避免。需要 PHP(或一些服务器端语言)将 HTML 与 MySQL 服务器链接。
  • 那是一个可怕的网站。他们教你在该页面上编写的代码中存在巨大的 SQL 注入漏洞。
  • 不幸的是,大多数 php 教程都教你这样做。我建议对涉及某些参数的所有数据库查询使用 PDO,以真正安全地免受注入攻击。
  • 我真的很抱歉一直问,但有什么方法可以让我更清楚地解释这个问题。我看了你给我看的链接,上面写着要下载 PHP 和 Apache,我认为 PHP 是一种语言?我还需要下载吗?我试图下载 Apache 但它没有打开,请问有其他方法或任何方法可以帮助我吗?谢谢
【解决方案2】:

您将需要使用某种服务器端语言,例如 PHP。使用 PHP,您可以连接到数据库并根据您提交的表单插入数据。

【讨论】:

    【解决方案3】:

    我知道您的问题的这个答案来得太晚了(太迟了 6 年),但为了所有在谷歌上搜索并到达此页面以搜索相同问题的新手,这里有一个很好的回应:

    使用 HTML 网页使用 PHP 与 MySQL 数据库交互的教程

    本教程将带您在网页上使用 php 建立 mysql 连接,连接到 mysql 表并检索结果并将其显示在网页上。

    本教程使用 PHP MySQL 命令:

    1. mysqli_connect
    2. mysqli_query
    3. mysqli_fetch_array
    4. mysqli_close

    计划

    • 建立连接并选择数据库
    • 对表执行查询
    • 打印数据
    • 关闭连接

    首先 - 连接到 MySQL 数据库

    您需要您的 MySQL 服务器地址(如果数据库与 Web 服务器位于同一服务器上,则很可能是 localhost 或 127.0.0.1)、用户名、密码和数据库名称。创建一个filenamehere.php文件,在html之前用标签打开和关闭php代码,后面可以放普通的html。在浏览器中打开文件,除了标题标签之外,您应该什么都看不到,如果您看到错误,则可能是用户名/密码或数据库名称错误。

    PHP 将要求启用 mysqli(在大多数 PHP 设置中)。

    <?php
    //Step1
     $db = mysqli_connect('localhost','username','password','database_name')
     or die('Error connecting to MySQL server.');
    ?>
    
    <html>
     <head>
     </head>
     <body>
     <h1>PHP connect to MySQL</h1>
     </body>
    </html>
    

    变量 $db 被创建并分配为连接字符串,它将在以后的步骤中使用。如果失败,则页面上将显示错误消息。如果成功,您将看到 PHP 连接到 MySQL。

    执行数据库查询

    mysql查询实际上是在html页面的body中执行的,所以需要额外的php开闭标签。对于查询,我们将指定读取给定表中的所有字段。 $query 变量选择表中的所有行。你只需要使用你的表名。

    <?php
    //Step1
     $db = mysqli_connect('localhost','root','root','database_name')
     or die('Error connecting to MySQL server.');
    ?>
    
    <html>
     <head>
     </head>
     <body>
     <h1>PHP connect to MySQL</h1>
    
    <?php
    //Step2
    $query = "SELECT * FROM table_name";
    mysqli_query($db, $query) or die('Error querying database..');
    ?>
    
    </body>
    </html>
    

    再次,浏览器中返回的页面应该是空白且没有错误,如果您确实收到错误 - 'Error querying database..' 检查表名是正确的。 把数据放到页面上

    这里我们正在创建一个 $result 变量来存储我们刚刚在上面所做的查询,现在我们只需要遍历我们需要的查询的所有行mysqli_fetch_array 将行存储在一个数组中,所以现在我们将 $result 存储在 mysqli_fetch_array 中并将其传递给一个名为 $row em>

    现在可以在while循环中输出$row,这里的数据行将被回显并显示在页面上,当不再有任何数据行时,本示例使用first_namelast_nameemailcity 表中有 4 个字段。

    <?php
    //Step1
    $db = mysqli_connect('localhost','root','root','database_name')
    or die('Error connecting to MySQL server.');
    ?>
    
    <html>
     <head>
     </head>
     <body>
      <h1>PHP connect to MySQL</h1>
    
      <?php
      //Step2
      $query = "SELECT * FROM table_name";
      mysqli_query($db, $query) or die('Error querying database.');
    
      $result = mysqli_query($db, $query);
      $row = mysqli_fetch_array($result);
    
      while ($row = mysqli_fetch_array($result)) {
      echo $row['first_name'] . ' ' . $row['last_name'] . ': ' . $row['email'] . ' ' . $row['city'] .'<br />';}
      ?>
    
     </body>
    </html>
    

    您应该在此处看到所有数据作为表格的输出。

    关闭连接

    关闭连接将需要在关闭 html 标记之后再设置一个打开和关闭 php 标记。查询完成后关闭数据库连接是个好习惯。

    <?php
    //Step1
     $db = mysqli_connect('localhost','root','root','database_name')
     or die('Error connecting to MySQL server.');
    ?>
    
    <html>
     <head>
     </head>
     <body>
     <h1>PHP connect to MySQL</h1>
    
      <?php
      //Step2
      $query = "SELECT * FROM table_name";
      mysqli_query($db, $query) or die('Error querying database.');
    
      //Step3
      $result = mysqli_query($db, $query);
      $row = mysqli_fetch_array($result);
    
      while ($row = mysqli_fetch_array($result)) {
       echo $row['first_name'] . ' ' . $row['last_name'] . ': ' . $row['email'] . ' ' . $row['city'] .'<br />';}
      //Step 4
      mysqli_close($db);
      ?>
    
     </body>
    </html>
    

    应始终关闭数据库连接。您不需要在初始连接后保留连接变量 $db,但这被认为是最佳实践。

    【讨论】:

    • 您的意图是好的(我也学会了使用这种类型的代码进行编码!),但我不确定是否应该在此处发布教程。此外,这个问题没有提到 PHP,所以最好至少添加一些关于什么是 php 以及应该如何安装等的提示。尽量让你的答案简短而客观,并指向一个包含更多信息的链接,如果需要。
    【解决方案4】:

    你需要用PHP,试试WAMP吧,有PHP,MYSQL数据库

    这是一个简单的表格 你的数据库表测试

    create table test
    (id int not null auto_increment primary key,
    firstname nvarchar(20)
    );
    

    然后使用服务器端 PHP

    //tst.php file
    <?php
    $connect=mysql_connect('hostname','username','password');
    mysql_select_db('databaseName');
    if(isset($_POST['submit']))
    {
       $firstname=mysql_real_escape_strings($_POST['firstname']);
       $ret=mysql_query("insert into test(firstname) values ('$firstname')")
    }
    ?>
    <html>
       <head> </head>
       <body>
       <form method="post">
          <input type="text" name="firstname" />
          <input type="submit" name="submit" Value="Submit" />
       </form>
       </body>
     </html>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-25
      • 2016-01-26
      • 2019-11-29
      • 1970-01-01
      • 1970-01-01
      • 2019-01-23
      • 1970-01-01
      相关资源
      最近更新 更多