将$ _POST值传递给函数时出现问题

时间:2012-10-03 20:08:39

标签: php mongodb post

当我将值传递给在PHP中发布到文档中的函数

时,我遇到了问题

这是函数定义

function findstation($val){
   global $positions_table;
   var_dump($val);
   $id=$val;
   $query = array('uid'=> $id );
   $result = $positions_table->find($query);
   foreach ($result as $station){
      return $station['name'];
   }
}

此函数查询mongoDB数据库,以从数据库中查找并返回密钥 name 我的网页会将 ID 作为$_POST['id']发布到文档中。

这就是我在其中搜索的方式

if(isset($_POST['submit'])){
    echo "START!";
    $st = $_POST['station'];
    var_dump($t);
    findstation($st);
    echo "EXECUTED THE FUNCTION"; // Just added this to diagnose
}

当我这样搜索时,我没有得到任何结果,只显示START!EXECUTED THE FUNCTION

但是当我调用这个函数时

findstation(2);

我得到了一个结果。当我把它作为变量传递时,我怎样才能使它工作?

PS:$_POST['id']作为<select>输入的值传递。

1 个答案:

答案 0 :(得分:4)

if(isset($_POST['submit'])){
    echo "START!'; // < == there you use a double to start string and a single quote to end
    $st = $_POST['station'];
    $t = (int)$st;
    var_dump($t);
    findstation($st);
    echo "EXECUTED THE FUNCTION"; // Just added this to diagnose
}

正确:

if(isset($_POST['submit'])){
    echo "START!"; // corrected string;
    $st = $_POST['station'];
    $t = (int)$st;
    var_dump($t);
    findstation($st);
    echo "EXECUTED THE FUNCTION"; // Just added this to diagnose
}