基本的edit.php不会更新数据

时间:2011-11-14 00:01:21

标签: php edit

我的代码试图编辑文章时遇到一小部分(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中没有“编辑”权限?

2 个答案:

答案 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());