适用于WAMP但不适用于远程服务器

时间:2014-12-07 17:21:12

标签: php mysql

我在我的机器上运行WAMP(PHP版本5.5.12)。我的程序适用于WAMP但是当我在远程服务器上运行程序时(PHP版本5.4.32)我收到以下错误:

  

数组([0] => 42S22 [1] => 1054 [2] =>未知列'地址'in   '字段列表')

我正在尝试将详细信息从表单传输到数据库。我不知道问题是否与表格中的以下输入有关:

Address:<br> <textarea name="address" rows="3" cols="25" WRAP="hard"><?php echo escape(Input::get('address')); ?> </textarea>

如果已设置,则输入:: get($ item)将返回$ _POST [$ item]。其他条目如下:

Last name: <input type="text" name="last_name" value="<?php echo escape(Input::get('last_name')); ?>">

并且不会产生问题。我尝试过使用print_r($ e-&gt; errorInfo());在我的捕获声明中:

catch(例外$ e)    {die($ e-&gt; getMessage());    }

但这不起作用。我不知道我是否正确使用它。有人可以提出建议。我将非常感激。

2 个答案:

答案 0 :(得分:0)

我认为您还没有更新数据库。您尝试从数据库中获取不存在的列。

因此请检查您所在的名为地址的字段,并检查该字段是否正确。

答案 1 :(得分:0)

非常感谢回复。

  

我认为你还没有更新你的数据库。您尝试获取列   从您的数据库中不存在。

我已经检查了那个并不是问题所在。我认为问题在于以下功能:

public function insert($table, $fields = array())
   { if(count($fields)) //true if $fields holds data
     { $keys = array_keys($fields);

       $values = '';  //to put inside query

       $x = 1;

      foreach($fields as $field)
      { $values .= '?';
        if($x < count($fields))
        { $values .= ', ';
        }
        $x++;
      }
   $sql = "INSERT INTO {$table} (`".implode('`, `', $keys) . "`) VALUES({$values})";
      if(!$this->query($sql, $fields)->error())
      { return true;
      }
     }
     return false;
   }

  public function query($sql, $darams = array())
  { 
    $this->_error = false;   //reset error
    if($this->_query = $this->_pdo->prepare($sql))
    { $x = 1;
      if(count($darams))
      { foreach($darams as $param)
        { $this->_query->bindValue($x, $param);
          $x++;
        }
      }
      if($this->_query->execute())
      { $this->_results = $this->_query->fetchAll(PDO::FETCH_OBJ);
        $this->_count = $this->_query->rowCount();
      }
      else      //an error has occured in SQL query
      { $this->_error = true;
      }
    }
    return $this;
  }

insert()through,$ values。=&#39;?&#39 ;;正在创造?作为字段的值。 query()到bindValue()为要插入的字段赋值。我有一个感觉地址,允许新的行,空格和逗号,在绑定时引起问题。我想知道你是否同意,如果有,你有解决方案吗?