包含SQL查询的PHP函数不起作用

时间:2014-03-11 13:44:59

标签: php function sqlsrv

我试图将一个将执行SQL查询的函数组合在一起,作为我正在进行的代码清理的一部分。查询在函数外部工作,但在函数内部我没有得到任何结果。以下是适用的代码:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<body>
<?php
header("Cache-Control: no-cache, must-revalidate");
require_Once'../connect.php';
function callQuery($select,$from,$where){
    $pull=array();
    $query="SELECT ".$select." FROM ".$from." WHERE ".$where;
    $run=sqlsrv_query($conn,$query);
    while($result=sqlsrv_fetch_array($run,SQLSRV_FETCH_ASSOC)){
        $resultS=var_dump($result);
    }   
return $query;
return $resultS;
}


echo callQuery("HDCaseNum","HDCase","HDCaseNum='8818'");

?>
</html></body>

代码只是一个让概念失效的测试设置。

修改 的 这就是我想要实现的目标:

function callQuery($select,$from,$where,$conn){
    $resultS=array();
    if($where){$where="WHERE $where";}
    $query="SELECT ".$select." FROM ".$from." ".$where;
    $run=sqlsrv_query($conn,$query);
    while($result=sqlsrv_fetch_array($run,SQLSRV_FETCH_ASSOC)){
        array_push($resultS,$result);
    }   
return $resultS;
}

我传入了列,表和过滤器,它会吐出一个多维数组的结果。让我不必一遍又一遍地重新键入所有sqlsrv函数。

1 个答案:

答案 0 :(得分:1)

$conn作为函数的一个参数传递。