当前位置: 首页 > 面试题库 >

关于如何使用PHP表单更新Mysql数据库的好教程?[关闭]

羊舌墨一
2023-03-14
问题内容

关闭。 此问题不符合堆栈溢出准则。它当前不接受答案。

想改善这个问题吗? 更新问题,使其成为Stack Overflow
的主题。

6年前关闭。

寻找有关如何使用php表单更新mysql数据库的良好教程?


问题答案:

更新数据可能非常简单。让我们从表单开始,供初学者使用:

<form method="post" action="submit.php">
  <input type="text" name="id" value="12" />
  <input type="text" name="value" value="Jonathan" />
  <input type="submit" />
</form>

该表格会将数据发送到submit.php我们可以处理的脚本中,并将其传递到数据库中。由于我们的表单方法是“
post”,因此我们所有的值都将通过POSTPHP中的超级数组发送(如果您使用文件上传器,则不是这种情况)。因此,在我们的submit.php页面中,我们可以打印ID和Value值,如下所示:

print $_POST["id"]; // the name of the HTML element is the key
print $_POST["value"]; // again, note that we use the name as the key

您需要注意将用户提交的值直接传递到查询中,因此最好使用类似mysql_real_escape_string()以下的函数来清理数据:

$id = mysql_real_escape_string( $_POST["id"] );
$value = mysql_real_escape_string( $_POST["value"] );

我们要做的下一件事是将它们放在查询中:

$sql = "UPDATE mytable SET value = '{$value}' WHERE id = {$id}";

这是个好时机,不要说我不鼓励您在实际环境中使用此示例代码。您将要查找sql​​-injections,以及如何避免它们。我在这里提供的代码仅是示例。输入我们的值之后,将要运行的查询实际上如下所示:

UPDATE mytable SET value = 'Jonathan' WHERE id = 12

现在,为了运行它,我们需要连接到数据库。

$host = "localhost"; 
$user = "root"; 
$pass = "";
$database = "myDatabase";
$conn = mysql_connect($host, $user, $pass) or die( mysql_error() );
        mysql_select_db($database) or die( mysql_error() );

我们在这里所做的就是将我们的mysql-user-
account凭据存储在数组中,并将它们传递给connect函数。这段代码应该很容易解释,但是请让我知道它是否还不清楚。

一旦知道了,就可以运行查询了。请记住,我们将其存储在一个名为的数组中$sql

$result = mysql_query( $sql ) or die( mysql_error() );

而已。你做到了!假设没有任何问题,数据现在将在数据库中更新。您可以通过多种方式来增加通过此脚本提供给用户的信息。另外值得注意的是,您甚至在允许脚本运行之前都希望对数据进行清理-
如果它不是可接受的数据(有人试图注入自己的查询),则需要将其吐回去。

请查看PHP文档中的MySQL函数以获取更多好处,如果有其他特定问题,请务必返回此处!



 类似资料:
  • 我想使用Ajax更新数据,下面是示例代码。SweetAlert被移位,因为它已经更新了,但是它在数据库中没有生效,因此它给出了一个错误。 这是在单击submit按钮时提交表单的Ajax脚本。 这段代码用于php服务器端,用于将数据插入数据库。

  • 问题内容: 我找到了一个自动提交表单数据的教程,但我要做的就是添加一个提交按钮以将数据传递给ajax。 我的目标是创建一个具有多个输入的表单,当用户单击“提交”按钮时,它将通过ajax发送并更新页面,而无需重新加载页面。另外,另一个关键是将所有输入发布到数组中的方式,以便在运行更新脚本时,输入字段中的名称属性与数据库中的列匹配。 我想我接近了。我已经搜索过,但没有找到确切的解决方案。提前致谢。 u

  • 全部的 只是想看看用表单中提交的数据更新数据库行的最佳选项是什么。我理解Laravel更新查询生成器,但是我在如何获取表单数据,然后执行该查询方面遇到了困难。相对较新的Laravel:)这是我想出的,只是从我的PHP经验和逻辑: 我曾试图将查询放入一个函数中,然后让表单操作成为函数: 正如我所说,主要问题是试图让命名的表单对象成为更新行的对象。我有两个文本输入字段,分别命名为“body”和“not

  • 我正尝试使用一个复选框来使用jQuery更新ID行处的数据库。 我正在使用while循环填充表。JQuery对第1行起作用,正确更新ID为xx的复选框的1或0。当您单击任何其他行时,它会正确地标识ID,但不会返回复选框值。 PHP代码: AJAX代码:

  • 问题内容: 按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我目前正在使用以下IDE。他们达到了目的,但我想知道是否有更好的选择可以切换。 phpDesigner v6.2.5(对于PHP)Navicat 8.0.29(

  • 问题内容: 我看到这对笨论坛 考虑以下代码 这显然是您在Codeigniter中这样做的方式 实际上这是行不通的。我看了一下生成的SQL,结果甚至没有提到联接。 有谁知道如何使用Codeigniter的Active Record数据库类对联接进行更新? 问题答案: 我发现的一种解决方案是完全删除联接并将联接条件移到“ where”函数中,此外,您还需要更改更新字符串以包括新表。