我想知道是否有人可以帮助我。
我正在尝试整理一个表单和PHP脚本(如下所示),它允许管理员通过电子邮件地址搜索和更新成员详细信息,填充第二个电子邮件地址,forename和surname字段,并为他们准备好检索到的信息待修改。
<?php
mysql_connect ("hostname","username","password") or die (mysql_error());
mysql_select_db ("databasename");
if ($_POST['search'])
{
$searchemailaddress = $_POST['searchemailaddress'];
$sql = mysql_query("select * from userdetails where emailaddress like '$searchemailaddress'");
while ($row = mysql_fetch_array($sql))
{
$emailaddress = $_POST['emailaddress'];
$forename = $row['forename'];
$surname = $row['surname'];
}
elseif ($_POST[['update'])
{
$userid = $_POST['userid'];
$emailaddress = $_POST['emailaddress'];
$forename = $_POST['forename'];
$surname = $_POST['surname'];
//replace TestTable with the name of your table
$sql = ("UPDATE `userdetails` SET `emailaddress` = '$emailaddress', `forename` = '$forename',`surname` = '$surname' WHERE `userdetails`.`userid` = '$userid' LIMIT 1");
}
}
}
?>
我收到以下错误:
Parse error: syntax error, unexpected T_ELSEIF in /homepages/2/d333603417/htdocs/development/searchandamend.php on line 13
第13行是我脚本中的这一行。 elseif ($_POST[['update'])
有人可能请看看这个,让我知道我哪里出错了。
非常感谢
答案 0 :(得分:1)
该行
$surname = $row['surname'];}
之后应该有另一个}
。您只能关闭while
循环。你也可以考虑使用一些缩进 - 这真的有助于看到像这样的错误。
此外,错误基本上都说明了 - else if
出现意外,因此PHP处理器需要其他东西(在这种情况下是右括号)。
答案 1 :(得分:0)
正如您在回答评论中提到的那样,您的结束}
放置不当,看起来您的关闭太多了。
if
{
// stuff here
}
elseif
{
// other stuff here
}
正如之前的回答中提到的,如果您正确格式化代码,类似于编辑问题中出现的代码,您将更容易找到这样的错误。
我也不得不指向PHP documentation on choosing the correct MySQL API,因为您使用的扩展程序已过时,不建议用于新项目。