我已经在带有编辑功能的PHP表格中显示MySQL数据了,但是我无法编辑它们,我也不知道为什么。
<?php
require("db.php");
$id =$_REQUEST['rid'];
$result = mysql_query("SELECT * FROM replies WHERE rid = '$id'");
$test = mysql_fetch_array($result);
if (!$result)
{
die("Error: Data not found..");
}
$trigger1=$test['trigger1'] ;
$reply2= $test['reply2'] ;
if (isset($_POST['save']))
{
$triggera = $_POST['trigger1'];
$replyb = $_POST['reply2'];
mysql_query("UPDATE `replies`(trigger,reply) VALUES ('$triggera','$replyb') WHERE rid = '$id'");
echo "Saved!";
}
mysql_close($conn);
?>
这是MySQL数据库代码:
CREATE TABLE IF NOT EXISTS `replies` (
`trigger` text NOT NULL,
`reply` text NOT NULL,
`usercontrib` tinyint(4) NOT NULL DEFAULT '0',
`rid` int(10) unsigned NOT NULL
) ENGINE=MyISAM AUTO_INCREMENT=332 DEFAULT CHARSET=utf8;
最后:
<form method="post">
<table>
<tr>
<td>Title:</td>
<td><input type="text" name="trigger" value="<?php echo $trigger1 ?>"/></td>
</tr>
<tr>
<td>Author</td>
<td><input type="text" name="reply" value="<?php echo $reply2 ?>"/></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="save" value="save" /></td>
</tr>
</table>
</form>
当我点击&#34;编辑&#34;在要修改的具体数据中,&#34;编辑&#34;中的字段。页面是空的,我认为&#34; echo&#34;这不是功能。
答案 0 :(得分:2)
您的更新SQL不正确。 试试这个:
UPDATE `replies` SET trigger = '$triggera', reply = '$replyb' WHERE rid = '$rid'
希望有所帮助!
答案 1 :(得分:0)
$ _ POST数组的键值与&#39; name&#39;的值完全相同HTML格式的属性。因此,如果要检查是否在php程序中设置了save,则需要进行以下更改 -
$triggera = $_POST['trigger'];
$replyb = $_POST['reply'];
另外,要检查您是否可以尝试使用print_r方法在页面上打印POST数组。