我试图将一个将执行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函数。
答案 0 :(得分:1)
将$conn
作为函数的一个参数传递。