无法调用php函数

时间:2014-09-03 10:00:13

标签: javascript php mysql json function

我有2个php文件,home.php和db_get.php。 home.php包含db_get.php。 db.php中有一个函数,我在home.php中调用它,它返回一个数组。然后将此数组转换为json,然后打印到控制台。我在控制台上没有看到任何东西。我认为这个功能没有被调用。

当我在函数内部放置相同的代码,并且只包含db_get.php文件时,我会看到json结果。

home.php

    <script type="text/javascript">

    <?php
    $parameter = 'Category';
    $item_type = 'Grocery';
    $db = mysqli_connect('localhost', 'root', 'root' , 'shopping_express');
    include 'db_get.php';
    $results = getData($parameter, $item_type);
    ?>

    var picturesJSON = <?php echo json_encode($results); ?>;
    console.log("The JSON is " + picturesJSON);
    loadItemImages(picturesJSON);
    </script>

db_get.php

   <?php

   function getData($parameter, $item_type){
     $sql_statement  = "SELECT *  ";
     $sql_statement .= " FROM items ";
     $sql_statement .= " WHERE " . $parameter . "= '$item_type' ";
     $sql_statement .= " WHERE type = 'bag' ";
     $result = mysqli_query($db, $sql_statement);
     $outputDisplay = "";
     $info=array();

     if(!$result) { //error
       $outputDisplay .= " " .mysqli_errno($db);
       $outputDisplay .= " " .mysqli_error($db);
       $outputDisplay .= " " .$sql_statement;
       $outputDisplay .= " " .mysqli_affected_rows($db);
    }
    else{
       while($row = mysqli_fetch_array($result,MYSQL_ASSOC)){
       array_push($info,$row);}     
    }

    return $info;
  }

  ?>

1 个答案:

答案 0 :(得分:1)

function getData($parameter, $item_type){
    global $db, $outputDisplay;

    // then continue the rest of the function

(感谢@DanFromGermany发现不是全局的$ db变量。)