いくつかのストアドプロシージャを実行するためにmssqlデータベースにも接続するphp/mysqlサイトがあります。郵便番号、郵便番号からの距離を要求し、郵便番号からその距離内の店舗を効果的に返すフォームがあります。何らかの理由で、この関数が実行され、結果がない場合、フォームは結果が見つからないというメッセージとともに正しく返されます。何らかの理由で結果が出た場合、ブラウザはソフトリダイレクトしてホームページに戻ります。関数のmssql_execute部分をコメントアウトすると、リダイレクトは発生しません。明らかに結果は得られません。mssql_executeを挿入して同じリクエストを実行すると、ページがリダイレクトされます。ストアドプロシージャを実行する関数は次のとおりです。
function getCompaniesByAddress(){
global $msdb;
//initiate function
$proc = mssql_init('usp_Search_Scope_And_Range', $msdb);
//Load Parameters
mssql_bind($proc, '@SuperscopeID', $_POST['activity'], SQLINT4, false, false, 10);
mssql_bind($proc, '@ScopeID', $_POST['scheme'], SQLINT4, false, false, 10);
mssql_bind($proc, '@PCode', $_POST['postcode'], SQLVARCHAR, false, false, 10);
mssql_bind($proc, '@Distance', $_POST['distance'], SQLINT4, false, false, 10);
try
{
$result = mssql_execute($proc);
//If the exception is thrown, this text will not be shown
}
//catch exception
catch(Exception $e)
{
echo 'Message: ' .$e->getMessage();
}
//Execute Procedure
//$result = mssql_execute($proc);
//Free Memory
mssql_free_statement($proc);
while ($row = mssql_fetch_assoc($result))
$results[] = $row;
$res = array_chunk(sortDataSet($results,'Mileage_FL'),20);
return $res[0];
}