2013-08-01 65 views
0

我通过以下URL发送参数: domain-name.com/Edit-user.php?reg_no=NV000003 并从数据库检索reg_no NV000003的文本字段中的数据。 在这里很好,但是当我点击修改按钮,通过使用下面的代码提交表单:MySQL修改数据问题

<?php 
if(/$_POST){ 
$query=mysql_query("update table-name set 
    NAME = '".(/$_REQUEST['name'])."', 
    EMAIL = '".(/$_REQUEST['email'])."' 
    where field-name = 'particular-value' 
    "); 
    ?> 

正在更新数据表,但在所有字段为空值。 可能是我缺少一些东西。任何想法Plsss?

我的形式是

<form action="" method="post" id="modifystndt" name="modifystndt"> 
    <table> <tbody> <tr> <td width="200px">Name of Student:</td> 
    <td width="400px"><strong><input type="text" name="name" id="name" value="<?php echo $NAME; ?>"></strong></td> </tr> 
    <tr> <td>E-mail :</td> <td><strong><input type="text" name="name" id="name" value="<?php echo $EMAIL; ?>"></strong></td> </tr> 
    <tr> <tbody> <table> </form> 
+0

[如何防止在PHP中SQL注入?(http://stackoverflow.com/questions/60174/how-to-prevent-sql-injection-in-php)的可能的复制 - 假设所有这些假'''只是格式化代码失败的尝试。 –

+0

您是否检查过$ _REQUEST ['name']是否有任何值' –

+0

我在这里放了“/”,因为它在发布代码时发出警告。所以请避免“/”。 @ User016,是的,所有的文件都有价值。提交表单后它只会变空。 – Richi

回答

0

试试这个

 $query=mysql_query("update table-name set 
NAME = '".$_REQUEST['name']."', 
EMAIL = '".$_REQUEST['email']."' 
where `field-name` = 'particular-value' 
"); 

,我可以看到你的表格有许多错误。

  • 你不关闭表,tbody,tr,输入标签。

  • 您对NAMEemail的输入使用了相同的名称和相同的ID。

变化电子邮件至

输入
<input type="text" name="email" id="email" value="<?php echo $EMAIL; ?>" /> 

EDIT2:

试试这个

<?php 
    if(isset($_POST['modifystndt'])){ 
$query=mysql_query("update table-name set 
NAME = '".$_POST['name']."', 
EMAIL = '".$_POST['email']."' 
where field-name = 'particular-value' 
"); 
?> 

表单:

<form action="" method="post" id="modifystndt" name="modifystndt"> 
<table> <tbody> <tr> <td width="200px">Name of Student:</td> 
<td width="400px"><strong><input type="text" name="name" id="name" value="<?php echo $NAME; ?>" /></strong></td> </tr> 
<tr> <td>E-mail :</td> <td><strong><input type="text" name="email" id="email" value="<?php echo $EMAIL; ?>" /></strong></td> </tr> 
</tbody> </table> 
    <input type="submit" name="submit" value="Submit"/></form> 
+0

我在这里放了“/”,因为它在用$在这里发布代码时发出警告。所以请避免“/”。 @ User016,是的,所有的文件都有价值。提交表单后它只会变空。 – Richi

+0

它正在更新值,所以没有与where子句的概率。它正在用空值更新每个字段,尽管我可以在提交表单之前在所有文本字段中看到值。 – Richi

+0

你可以发表你的表格吗?学生的 –

0

如果你的表单方法是POST,你可以用数组$ _POST检索你的数据。

$query=mysql_query("update table-name set 
    NAME = '".$_POST['name']."', 
    EMAIL = '".$_POST['email']."' 
    where `field-name` = 'particular-value' 
"); 
+0

谢谢亚历山大得到了sol。 – Richi

+0

为了帮助这个页面的下一个访问者,你必须说它是正确的解决方案 –