无法从表单字段更新数据库条目

时间:2014-10-19 14:32:48

标签: php sql

这是几天后的第3篇 - 但我非常接近(你们统治着)。我有一个表格可以编辑'现在,根据查询中传递的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>";
}

我不断收到错误消息:

  

解析错误:语法错误,第40行/home/content/s/t/o/stolzillusions/html/gigs/cp/edit_gig_process.php中的意外T_ELSE

我已经尝试过在互联网上进行更新的每个组合!我做了一件明显不对的事吗?

1 个答案:

答案 0 :(得分: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'";

您遇到的主要问题以及您的错误来自

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

你的错误告诉你错误的是什么......

  

解析错误:语法错误,第40行&gt; /home/content/s/t/o/stolzillusions/html/gigs/cp/edit_gig_process.php中的意外T_ELSE

我打赌第40行(见你的编辑)是else{。它表达了正确的语法。

//if/else statement

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

您只是使用了else语句并且错过了头if(...){....}