【问题标题】:Update data table from Web form with PHP使用 PHP 从 Web 表单更新数据表
【发布时间】:2011-01-27 14:30:00
【问题描述】:

我是 PHP 新手,有一个问题我不太了解。

我有网络表单和文本字段。当 Web 表单加载文本字段时,从数据库中获取数据。

我想要做的是在按钮点击时更新数据库,实际上是在第二个网络表单加载时。但是数据库中的数据根本没有变化。

$first_name = $_POST[textfield];

session_start();
$telegramNum = $_SESSION[telegramNum]; // This is data from first page, this code is 
                                       // on third page, data was from second page

$testDataQuery="UPDATE person_response SET first_name = ".$first_name." WHERE telegram_number= " .$telegramNum;

【问题讨论】:

  • 你是如何连接到数据库的?
  • 您需要在查询中的文本周围加上引号,否则 MySQL 将返回错误。例如:first_name = '".$first_name."' WHERE
  • 我也尝试过。那没问题。但我从第一页获取数据。也许这是问题,因为 textfield 也是第一页和第二页的文本字段的名称?我从第一页获取数据,而不是从第二页获取数据。

标签: php mysql webforms


【解决方案1】:

首先我会阅读一些关于使用 php 连接到数据库的教程。然后学习如何执行查询。另外,请阅读一些关于使用 mysql_real_escape_string() 进行数据注入的信息。

PHP MySQL connection tutorial

$first_name = $_POST['textfield'];

session_start();
$telegramNum = $_SESSION['telegramNum'];    
$testDataQuery="UPDATE person_response SET first_name = '".$first_name."' WHERE telegram_number= '" .$telegramNum."'";

确保在查询中注入的数据以及 $_POST 和 $_SESSION 变量周围使用单引号

【讨论】:

    【解决方案2】:

    您应该连接到数据库并发送查询。在您的代码中,您只需将 mysql 查询分配给变量。

    【讨论】:

      【解决方案3】:

      你没有理解我。我连接了数据库。加载第 2 页时,文本字段会使用数据库中的数据进行更新。

      但是当我更改一些文本字段并转到另一个页面时,在那一刻我想用这些新数据更新数据库。连接和其他一切都很好。

      【讨论】:

      • 没有错误。数据库正在更新,但 first_name 更新为空单元格。
      • 确保在 $_POST 和 $_SESSION 周围加上引号,然后对 $first_name 进行回显,看看它是否从帖子中获得价值
      • 我尝试 echo $first_name 但没有任何反应。我不明白 textfield 是 page2 中文本字段的名称。在 page3 我有: $first_name = $_POST['textfield'];回声 $first_name;但什么也没发生。
      • 如果您从 page2 和 page3 发布代码会有所帮助。你的表格有张贴吗?
      【解决方案4】:

      问题在于表单标签。我没有将代码的孔部分放在表单标签内。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-12-10
        • 2017-03-04
        • 2022-09-24
        • 2016-07-18
        • 1970-01-01
        • 1970-01-01
        • 2016-10-12
        • 1970-01-01
        相关资源
        最近更新 更多