0
<center>
<?php
if(isset($_POST['submit']))
{

 $title = $_POST['title'];
 $content = $_POST['content'];
 $id= $_POST['id'];

 mysql_query("UPDATE post SET title='$title',content='$content' WHERE p_id='$id'");
 echo 'success';
}else{

?>
<form action='update.php' method='post'>
<span style="font-size:26px;"><strong><span style="font-family: verdana, geneva, sans-serif; ">Title:&nbsp;</span></strong></span>
<input type='text' name='title' /><br />
<input type="hidden" value="<?php echo $_REQUEST['id']?>" name="id">
<span style="font-size:26px;"><strong><span style="font-family: verdana, geneva, sans-serif; ">Content:&nbsp;</span></strong></span>
<textarea name='content' ></textarea><br />
<input type='submit' name='submit' value='EDIT'/>
</form>
<?php
}
?>
</center>

这个查询有什么问题?$_REQUEST['id'] 来自我的 php 的另一页,它来自带有值的超链接。顺便说一下,我是 php 的初学者。

4

2 回答 2

4

首先,您很容易受到SQL 注入攻击,因此在您了解危险并了解如何避免它之前,请停止使用此代码。

除此之外,您假设您的数据库查询已成功。这不是一件好事。至少你应该有一些类似的东西

$result = mysql_query(...) or die(mysql_error());
                          ^^^^^^^^^^^^^^^^^^^^^^
于 2012-10-09T16:31:29.267 回答
0

也许您在输入中使用了 '。您的查询失败,因为您没有转义输入变量

于 2012-10-09T19:36:44.383 回答