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

问题描述 投票:-1回答:2

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

php html mysql
2个回答
1
投票

我将尝试通过将数据存储到数据库中并从数据库中获取数据以在前端的表中进行查看来向您解释这一点。通常,您将需要使用MySQL表在其中存储数据,然后使用PHP脚本输出该数据。要显示表数据,最好使用HTML,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>

上面的HTML代码将向用户显示5个文本字段,用户可以在其中输入数据和一个Submit按钮。单击提交按钮后,用户提交的数据将传递到名为insert.php的脚本。

该脚本的语法类似于以下内容:

 <?php
    $username = "your_username";
    $password = "your_pass";
    $database = "your_db";


$mysqli = new mysqli("localhost", $username, $password, $database);

// Don't forget to properly escape your values before you send them to DB
// to prevent SQL injection attacks.

$field1 = $mysqli->real_escape_string($_POST['field1']);
$field2 = $mysqli->real_escape_string($_POST['field2']);
$field3 = $mysqli->real_escape_string($_POST['field3']);
$field4 = $mysqli->real_escape_string($_POST['field4']);
$field5 = $mysqli->real_escape_string($_POST['field5']);

$query = "INSERT INTO table_name (col1, col2, col3, col4, col5)
            VALUES ('{$field1}','{$field2}','{$field3}','{$field4}','{$field5}')";

$mysqli->query($query);
$mysqli->close();

用户提交信息后,insert.php脚本会将其保存在数据库表中。然后,您可能需要输出该信息,以便用户可以在页面上看到它。您需要使用的第一个命令是具有以下语法的SELECT FROM MySQL语句:

SELECT * FROM table_name;

这是一个基本的MySQL查询,它将告诉脚本从table_name

表中选择所有记录。执行查询后,通常您希望将查询结果存储在变量中。可以使用以下PHP代码完成此操作:
<?php
$query = $mysqli->query("SELECT * FROM table_name");

表的全部内容现在包含在名称为$result的PHP数组中。在输出此数据之前,应将每块更改为一个单独的变量。有两个阶段。

现在,我们必须设置循环。它将获取结果的每一行并打印在那里存储的数据。这样,我们将在表中显示所有记录:

$query = "SELECT * FROM table_name";

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

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

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

您现在可以编写完整的脚本来输出数据。在此脚本中,数据在打印时未格式化:

<?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();
}

这将输出数据库中存储的所有值的列表。这将为您提供非常基本的输出,对于实时网站没有用。相反,最好将其格式化为表格并在其中显示信息。要应用格式设置,您需要使用HTML通过将变量包含在正确的空格中来打印结果。最简单的方法是关闭PHP标记并正常输入HTML。当您到达可变位置时,请按以下步骤包括它:]

<?php echo $variablename; ?>

在代码中的正确位置

您还可以使用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>

此代码将打印出表内容,并为数据库中的每个记录添加一个额外的行,从而在打印时格式化数据。

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

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

MySQL是与PHP一起使用的最受欢迎的数据库系统。


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.