首页 > 解决方案 > 如何将 HTML 表单中的数字添加到数据库中已有的数字?

问题描述

所以我有一个 HTML 表单,它通过我已连接到我的数据库的“input.php”文件将数据发送到数据库。

我想要完成的是,从 HTML 表单发送到数据库的数据都是数字。我想知道如何对 input.php 文件进行编码,以便当从 HTML 表单提交新数字并发送到已经有数字的值时,将两者相加。

例如,A 人在第一天在表单中填写了一个数字,例如 5。第二天,他提交了与数字 3 完全相同的字段。在数据库中,我想添加而不是覆盖第一个值它了。所以在第 1 天,数据库应该说“5”,但在第 2 天,它应该说“8”。

这是我将使用的基本“input.php”文件。字段的名称将在我的最终代码中更改。

<?php
/* Attempt MySQL server connection. Assuming you are running MySQL
server with default setting (user 'root' with no password) */
$link = mysqli_connect("localhost", "root", "", "demo");

// Check connection
if($link === false){
    die("ERROR: Could not connect. " . mysqli_connect_error());
}

// Escape user inputs for security
$first_name = mysqli_real_escape_string($link, $_REQUEST['first_name']);
$last_name = mysqli_real_escape_string($link, $_REQUEST['last_name']);
$email = mysqli_real_escape_string($link, $_REQUEST['email']);

// Attempt insert query execution
$sql = "INSERT INTO persons (first_name, last_name, email) VALUES 
('$first_name', '$last_name', '$email')";
if(mysqli_query($link, $sql)){
    echo "Records added successfully.";
} else{
    echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
}

// Close connection
mysqli_close($link);
?>

任何帮助,将不胜感激。我想也许我可以使用一些 javascript 验证,但是那将用于验证字段,而不是添加......所以......

谢谢!

标签: phpmysql

解决方案


你需要做两件事。首先,验证记录是否存在。其次,如果存在通过将表单输入添加到列来更新记录。如果不存在,则使用表单输入插入新记录。要更新,您可以编写查询,例如

 UPDATE TABLE_NAME
 SET column_to_update = column_to_update+form_input_number
 WHERE email=<email_address> ;

(假设电子邮件是主键或用任何主键字段名称替换电子邮件)


推荐阅读