私が行っているコードのクリーンアップの一環として、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 関数を何度も再入力する必要がなくなります。