寻找有关如何使用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值,如下所示:
submit.php
POST
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()以下的函数来清理数据:
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:
$sql
$result = mysql_query( $sql ) or die( mysql_error() );
而已。你做到了!假设没有任何问题,数据现在将在数据库中更新。您可以通过多种方式来增加通过此脚本提供给用户的信息。另外值得注意的是,您甚至在允许脚本运行之前都希望对数据进行清理- 如果它不是可接受的数据(有人试图注入自己的查询),则需要将其吐回去。
请查看PHP文档中的MySQL函数以获取更多好处,如果有其他特定问题,请务必返回此处!