创建if块时遇到问题

时间:2019-02-22 11:34:14

标签: php

我正在使用的代码

    if ($_REQUEST('addOrEdit') == 'add') {
      $stmt2 = $pdo->prepare("insert into ITEM (tracker, date, significance, obsolete, description,data, programs, topics, lastModifiedBy) values (?,?,?,?,?,?,?,?,?");

//      $stmt2->execute(array($tracker,$_REQUEST['date'],$_REQUEST['significance],$_REQUEST['obsolete'],$_REQUEST['description'], null, $_REQUEST[program],$_REQUEST[topic],null);

    }  

如果我注释掉if行和右括号,则它可以工作(在AWS LAMP实例上)。否则,这会破坏我的页面,并且当我尝试加载它时,除了空白页面,我什么都看不到。

我在页面的其他地方回显了$_REQUEST['addOrEdit'],它显示了add

问题似乎出在我的if用法上?(?)我在做什么错了?

3 个答案:

答案 0 :(得分:2)

您在if语句中写了括号来获取请求参数。将括号替换为方括号。

if ($_REQUEST['addOrEdit'] == 'add') {

答案 1 :(得分:0)

除了语法错误(这可能是一个错字,因为您的问题稍后将包含正确的语法),如Rahul所指出的那样,您可能会更具防御性并检查数组中是否存在键

if (array_key_exists('addOrEdit', $_REQUEST) && $_REQUEST['addOrEdit'] === 'add') {

答案 2 :(得分:0)

$ _ REQUEST是array类型的全局变量,不是函数。 您可以使用[]而不是this()来访问变量。 所以试试这个

if($ _ REQUEST ['addOrEdit'] =='add'){     您的代码 }