PHP函数不从外部文件打印

时间:2015-05-19 02:14:46

标签: php html mysql

我有一个小问题。我有一个PHP功能,当它在页面内时,它可以很好地工作。这是

$selectQuery = "SELECT DISTINCT product_code FROM product;";
$List = mysql_query( $selectQuery, $Connection ) or die("ERROR".mysql_error());

    while($Output = mysql_fetch_array($List))
    {
        echo "<option value='".$Output[0]."'>".$Output[0]."</option>";
    }

但是当我把它包含在我保存我的函数的文件中,而不是从那里调用它时它什么都不输出,并且它下面的所有内容都不会被输出。 这是函数调用:

<select name="Selector" >
  <option value="">--Select Product--</option>
  <?php printProductBox("SELECT DISTINCT product_code FROM product;"); ?>
  </select>

以下是函数文件中的函数,该函数也包含在页面前面:

function printProductBox($ParameterQuery){
     include ('DatabaseVariables.php');
     $List = mysql_query( $ParameterQuery, $Connection ) or die("ERROR".mysql_error());

     while($Output = mysql_fetch_array($List)){
        echo "<option value='".$Output[0]."'>".$Output[0]."</option>";
    }
}

数据库凭证文件包含在主页面和功能文件中(功能文件也包含在页面中)。 该文件中的其他功能正在主页面中工作。所以我想知道为什么这个功能有问题?

有人有任何关于它的线索吗?

2 个答案:

答案 0 :(得分:0)

将此功能放在功能的开头:

global $Connection;

使用新建议进行修改,如果已建立连接可能会有所帮助,请尝试替换这些行的旧版本:

<?php printProductBox("SELECT DISTINCT product_code FROM product;", $Connection); ?>

function printProductBox($ParameterQuery, $Connection){

答案 1 :(得分:0)

问题是缺少凭证。 凭证必须包含在功能范围内。我想知道是否有办法将所有变量声明为全局变量。所以我不会在每个函数中包含相同的文件。