Sam*_*son 18
更新数据非常简单.让我们从一个表单开始,对于初学者:
<form method="post" action="submit.php">
<input type="text" name="id" value="12" />
<input type="text" name="value" value="Jonathan" />
<input type="submit" />
</form>
Run Code Online (Sandbox Code Playgroud)
此表单将数据发送到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
Run Code Online (Sandbox Code Playgroud)
您需要小心将用户提交的值直接传递到查询中,因此使用以下函数清理数据会很好mysql_real_escape_string():
$id = mysql_real_escape_string( $_POST["id"] );
$value = mysql_real_escape_string( $_POST["value"] );
Run Code Online (Sandbox Code Playgroud)
接下来我们要做的是将它们放在查询中:
$sql = "UPDATE mytable SET value = '{$value}' WHERE id = {$id}";
Run Code Online (Sandbox Code Playgroud)
这是一个很好的时间,并不是说我不鼓励您在实时环境中使用此示例代码.你会想要查找sql注入,以及如何避免它们.我在这里提供的代码仅仅是一个例子.输入我们的值后,将要运行的查询实际上如下所示:
UPDATE mytable SET value = 'Jonathan' WHERE id = 12
Run Code Online (Sandbox Code Playgroud)
现在,为了运行它,我们需要连接到数据库.
$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() );
Run Code Online (Sandbox Code Playgroud)
我们在这里所做的就是将我们的mysql-user-accounts凭证存储在数组中,并将它们传递给connect-function.这段代码应该是不言自明的,但是如果它根本不清楚,请告诉我.
一旦你有了,你就可以运行你的查询了.请记住,我们将其存储在一个名为$sql:
$result = mysql_query( $sql ) or die( mysql_error() );
Run Code Online (Sandbox Code Playgroud)
而已.你做到了!假设没有出错,数据现在在您的数据库中更新.有许多方法可以通过此脚本增加提供给用户的信息.另外值得注意的是,你甚至想要在允许脚本运行之前清理你的数据 - 如果它不是可接受的数据(某人试图注入他们自己的查询)你会想要吐回它.
查看PHP文档中的MySQL函数以获得更多好处,并确保在您有更具体的问题时返回此处!
| 归档时间: |
|
| 查看次数: |
23427 次 |
| 最近记录: |