2014-10-19 49 views
-3

这是几天后的第3期 - 但我非常接近(和你们的规则)。我有一个'edit'的表单,现在根据查询中传递的gigid填充数据库中的内容。我现在不能做的是让它更新。无法更新表单域中的数据库条目

$gigid = $_GET['gigid']; 

$sql="UPDATE gigs (gig_name, gig_type, gig_customer, gig_date, gig_start_time, gig_end_time,  gig_fee, gig_status, venue_name, venue_address, venue_contact) WHERE gigid=$gigid 
VALUES ('$gig_name', '$gig_type', '$gig_date_created', '$gig_customer', '$gig_start_time',  '$gig_end_time', '$gig_fee', '$gig_status', '$venue_name', '$venue_address', '$venue_contact')"; 

else { 
echo "Oops. A gig name, gig type and customer name are required. Did you miss one?</br>"; 
} 

我不断收到错误消息:

Parse error: syntax error, unexpected T_ELSE in /home/content/s/t/o/stolzillusions/html/gigs/cp/edit_gig_process.php on line 40

我试着做了更新,我可以在互联网上找到的每个组合!我做的事情明显错了吗?

+0

当使用['UPDATE()'](http://dev.mysql.com/doc/refman/5.0/en/ update.html)你使用'SET column ='$ var'',你不使用VALUES。或者用'INSERT INTO gigs'替换UPDATE。错误不是来自这个顺便说一句,但可能进一步提高。你也没有使用'mysqli_query()'。作为一个问题很不明确。 – 2014-10-19 14:34:03

+0

'else'语句只有在if条件成立时才有意义。同样,你对'$ sql'的赋值只是一个字符串操作。这与数据库操作没有任何关系。请在Google上查看数百万个示例中的一两个。 – arkascha 2014-10-19 14:34:18

+0

是的,你做错了。你为什么不检查SQL数据库中的UPDATE正确的语法?另外,你应该阅读一些关于SQL注入的内容。 – walther 2014-10-19 14:36:02

回答

1

你在这个陈述中有很多问题。

第一:

您正在使用其中的声明

二中旬:

更新使用set而不是value

你交换的论点

gig_customer='$gig_date_created', 
gig_date='$gig_customer', 

我换他们在正确的语句

正确的语法是:

"update table set foo='$bar' where hello='$world'" 

你的语句看起来像

$sql= "UPDATE gigs set 
     gig_name='$gig_name', 
     gig_type='$gig_type', 
     gig_customer='$gig_customer', 
     gig_date='$gig_date_created', 
     gig_start_time='$gig_start_time', 
     gig_end_time='$gig_end_time',  
     gig_fee='$gig_fee', 
     gig_status='$gig_status', 
     venue_name='$venue_name', 
     venue_address='$venue_address', 
     venue_contact='$venue_contact' 
WHERE 
     gigid='$gigid'"; 

The你必须和你的错误是来自是

I've tried every combination of doing an update I can find on the internet! Am I doing something glaringly wrong?

你的错误告诉你到底什么是错的主要问题...

Parse error: syntax error, unexpected T_ELSE in >/home/content/s/t/o/stolzillusions/html/gigs/cp/edit_gig_process.php on line 40

我敢打赌线40(参见编辑器)是else{。它阐明了正确的语法。

//if/else statement 

if($condition) 
{ 
    //do some here 
} 
else 
{ 
    //if condition fails, do some else 
} 

你只是使用else语句和失踪的头if(...){....}

+0

还有一个关键功能缺失。 – 2014-10-19 14:40:41

+0

谢谢你这样有用的答案!上面有一个if语句,我意外地没有发布,但我无论如何都将其删除。这不是更长的射击错误,尽管现在它将条目清理干净,所以我认为我遇到了一个问题,无法识别字段名称或其他内容。我会玩它 - 再次感谢。 – Topher 2014-10-19 16:57:25

+0

@Topher如果此答案帮助了您,请接受并投票。根据你的评论有一些其他问题,我建议你问一个新的问题,并得到帮助。 – Dwza 2014-10-19 17:01:31