我的代码试图编辑文章时遇到一小部分(42小时)问题 - 只是基本的editNews.php
当我选择文章编辑数据时,从DB中出现的表格和时间 我点击“更新”它没有返回任何错误,但数据没有更新
<?PHP
connection to database blah blah
?>
<?php
if(isset($_POST['update']))
{
$newsid = $_POST['newsid'];
$date=$_POST['date'];
$time=$_POST['time'];
$location=$_POST['location'];
$result=mysql_query("UPDATE news SET date='$date',time='$time',location='$location', WHERE newsid=$newsid");
header("Location: listNews.php");
}
}
?>
<?php
$newsid = $_GET['newsid'];
$result=mysql_query("select * from news where newsid=$newsid");
while($res=mysql_fetch_array($result))
{
$date = $res['date'];
$time = $res['time'];
$location = $res['location'];
}
?>
这是形式 - 只是正常形式......
<form method="post" action="editNews.php" name="form1">
每个项目都像
<input type="text" name="headline" value="<?php echo $location;?>" id="UserName">
和
<input type="hidden" name="newsid" value=<?php echo $_GET['newsid'];?>
<input name="update" type="submit" value="update" />
很可能有一些我看不到的东西,但“看到”已经花了差不多2天了 ...有没有可能我在mySql中没有“编辑”权限?
答案 0 :(得分:1)
你怎么知道没有错误?你的代码缺乏:
print mysql_error();
在UPDATE查询后立即添加。
每当提交的内容本身包含单引号时,您的代码最有可能失败。要将正确的SQL发送到数据库,建议在所有输入变量上应用mysql_real_escape_string()
。
答案 1 :(得分:0)
尝试
$result= mysql_query('UPDATE news SET
date = "'. $date .'",
time = "'. $time. '",
location = "' .$location. '"
WHERE newsid = '.$newsid.';') OR die(mysql_error());