如何将HTML接口(提交SQL语句)连接到PHP文件,然后将PHP连接到我的数据库?

如何将HTML接口(提交SQL语句)连接到PHP文件,然后将PHP连接到我的数据库?,php,html,mysql,Php,Html,Mysql,我不知道如何将HTML接口连接到PHP文件,然后再连接到数据库。我希望能够在我的界面中输入SQL语句,并让它从我的数据库中检索和显示数据?使用用于GET或POST的PHP处理程序从客户端HTML连接到服务器。在此处理程序方法中,实现SQL语句的数据库交互逻辑 MySQL是PHP使用的最流行的数据库系统。我将尝试通过将数据存储到数据库中并从数据库中获取数据以在前端的表中查看来向您解释这一点。通常,您需要使用MySQL表在其中存储数据,然后使用PHP脚本输出数据。为了显示表数据,最好使用HTML,在

我不知道如何将HTML接口连接到PHP文件,然后再连接到数据库。我希望能够在我的界面中输入SQL语句,并让它从我的数据库中检索和显示数据?

使用用于GET或POST的PHP处理程序从客户端HTML连接到服务器。在此处理程序方法中,实现SQL语句的数据库交互逻辑


MySQL是PHP使用的最流行的数据库系统。

我将尝试通过将数据存储到数据库中并从数据库中获取数据以在前端的表中查看来向您解释这一点。通常,您需要使用MySQL表在其中存储数据,然后使用PHP脚本输出数据。为了显示表数据,最好使用HTML,在页面上填充一些数据时,它会调用一个PHP脚本来更新MySQL表

要用数据填充新的数据库表,首先需要一个HTML页面,该页面将从用户处收集数据。下面的HTML代码用于创建并将信息传递给PHP脚本:

<form action="insert.php" method="post">
    Value1: <input type="text" name = "field1" /><br/>
    Value2: <input type="text" name = "field2" /><br/>
    Value3: <input type="text" name = "field3" /><br/>
    Value4: <input type="text" name = "field4" /><br/>
    Value5: <input type="text" name = "field5" /><br/>
    <input type="submit" />
</form>
用户提交信息后,
insert.php
脚本将其保存在数据库表中。然后,您可能希望输出该信息,以便用户可以在页面上看到它。您需要使用的第一个命令是SELECTFROMMySQL语句,该语句具有以下语法:

SELECT * FROM table_name;
这是一个基本的MySQL查询,它将告诉脚本从表\u name表中选择所有记录。执行查询后,通常希望将查询结果存储在变量中。这可以通过以下PHP代码完成:

<?php
$query = $mysqli->query("SELECT * FROM table_name");
现在可以编写完整的脚本来输出数据。在此脚本中,数据在打印时未格式化:

<?php
$username = "username";
$password = "password";
$database = "your_database";
$mysqli = new mysqli("localhost", $username, $password, $database);

$query = "SELECT * FROM table_name";
echo "<b> <center>Database Output</center> </b> <br> <br>";

if ($result = $mysqli->query($query)) {

    while ($row = $result->fetch_assoc()) {
        $field1name = $row["col1"];
        $field2name = $row["col2"];
        $field3name = $row["col3"];
        $field4name = $row["col4"];
        $field5name = $row["col5"];

        echo '<b>'.$field1name.$field2name.'</b><br />';
        echo $field5name.'<br />';
        echo $field5name.'<br />';
        echo $field5name;
    }

/*freeresultset*/
$result->free();
}

在代码中的正确位置

您还可以使用PHP循环重复适当的代码,并将其作为一个较大表的一部分。 最终结果将是:

<html>
<body>
<?php 
$username = "username"; 
$password = "password"; 
$database = "your_database"; 
$mysqli = new mysqli("localhost", $username, $password, $database); 
$query = "SELECT * FROM table_name";


echo '<table border="0" cellspacing="2" cellpadding="2"> 
      <tr> 
          <td> <font face="Arial">Value1</font> </td> 
          <td> <font face="Arial">Value2</font> </td> 
          <td> <font face="Arial">Value3</font> </td> 
          <td> <font face="Arial">Value4</font> </td> 
          <td> <font face="Arial">Value5</font> </td> 
      </tr>';

if ($result = $mysqli->query($query)) {
    while ($row = $result->fetch_assoc()) {
        $field1name = $row["col1"];
        $field2name = $row["col2"];
        $field3name = $row["col3"];
        $field4name = $row["col4"];
        $field5name = $row["col5"]; 

        echo '<tr> 
                  <td>'.$field1name.'</td> 
                  <td>'.$field2name.'</td> 
                  <td>'.$field3name.'</td> 
                  <td>'.$field4name.'</td> 
                  <td>'.$field5name.'</td> 
              </tr>';
    }
    $result->free();
} 
?>
</body>
</html>

这段代码将打印出表内容,并为数据库中的每条记录添加额外的行,在打印时格式化数据


我希望这将帮助您解决问题。

到目前为止您尝试了什么?您的代码易受SQL注入攻击。您应该使用准备好的语句。为了防止SQL注入攻击,在将值发送到数据库之前,我已对其进行了正确的转义。这不是防止SQL注入的方法。事实上,您的代码仍然没有受到保护。请忘记这个函数的存在,它不是为了防止SQL注入而设计的。使用事先准备好的陈述,这是已知的最佳解决方案。
<?php
$username = "username";
$password = "password";
$database = "your_database";
$mysqli = new mysqli("localhost", $username, $password, $database);

$query = "SELECT * FROM table_name";
echo "<b> <center>Database Output</center> </b> <br> <br>";

if ($result = $mysqli->query($query)) {

    while ($row = $result->fetch_assoc()) {
        $field1name = $row["col1"];
        $field2name = $row["col2"];
        $field3name = $row["col3"];
        $field4name = $row["col4"];
        $field5name = $row["col5"];

        echo '<b>'.$field1name.$field2name.'</b><br />';
        echo $field5name.'<br />';
        echo $field5name.'<br />';
        echo $field5name;
    }

/*freeresultset*/
$result->free();
}
<?php echo $variablename; ?>
<html>
<body>
<?php 
$username = "username"; 
$password = "password"; 
$database = "your_database"; 
$mysqli = new mysqli("localhost", $username, $password, $database); 
$query = "SELECT * FROM table_name";


echo '<table border="0" cellspacing="2" cellpadding="2"> 
      <tr> 
          <td> <font face="Arial">Value1</font> </td> 
          <td> <font face="Arial">Value2</font> </td> 
          <td> <font face="Arial">Value3</font> </td> 
          <td> <font face="Arial">Value4</font> </td> 
          <td> <font face="Arial">Value5</font> </td> 
      </tr>';

if ($result = $mysqli->query($query)) {
    while ($row = $result->fetch_assoc()) {
        $field1name = $row["col1"];
        $field2name = $row["col2"];
        $field3name = $row["col3"];
        $field4name = $row["col4"];
        $field5name = $row["col5"]; 

        echo '<tr> 
                  <td>'.$field1name.'</td> 
                  <td>'.$field2name.'</td> 
                  <td>'.$field3name.'</td> 
                  <td>'.$field4name.'</td> 
                  <td>'.$field5name.'</td> 
              </tr>';
    }
    $result->free();
} 
?>
</body>
</html>