2017-12-17 11 views
1

誰かがmssqlのストアド・プロシージャをコールするための自分のPHPコードで何が問題なのかを指摘できますか?次のSQLクエリは、MSSQLスタジオで正常に動作します:....私はPHPからのコール・ストアド・プロシージャ

<?php 
$Record = $_POST['record']; 
$Stat = $_POST['Status']; 
$Tech = $_POST['Tech']; 
$Action = $POST['Action']; 
$Date = date("Y/m/d"); 
$time = date("G:i:s"); 
//connect to sql 
$hostname = '127.0.0.1\SQLserver'; 
$options = array('Database'=>'CallHistory', 'CharacterSet' => 'UTF-8'); 
$conn = sqlsrv_connect($hostname, $options); 
if(!is_resource($conn)) 
{ 
echo 'Could not connect: '; 
var_dump(sqlsrv_errors(SQLSRV_ERR_ALL)); 
exit(0); 
} 

// echo "Success"; 
// sqlsrv_close($conn); 

// DB queries 

if (empty($_POST['record']) && empty($_POST['Statut'])&&empty($_POST['Tech']) && empty($_POST['Action'])) 
{ 
echo "CHoose at least one"; 
} 
else 
{ 
$query1 = "exec updateRecord $Record,$Stat,$Tech,$Action,$Date,$time"; 
} 
$ask = sqlsrv_query($conn, $query1); 
sqlsrv_fetch($ask); 
......... 
?> 

何を忘れています:ここで

EXEC updateRecord 'Record','Closed','Jon','query test4','','' 

はImがUpdateRecordデータベースを試してみて、呼び出すために使用していることPHPコードですか? サーバーが空の応答を返すようで、実際のレコードは更新されません。

+0

はこのようにそれを試してみてください; –

+0

このコードを実行しようとすると、どのようなエラーが発生しますか? –

+0

@AslanShemilovと同じ効果なし変化なしエラー – user7421969

答えて

0

は、それが動作するようになった:$のQuery1を= "CALL UpdateRecordデータベース$録音、$スタット、$テック、$アクション、$日付、$時間":

$query1 = "EXEC updateRecord @Record = '$Record', @Status = '$Stat', @Tech = '$Tech', @Date = '$Date', @time = '$time', @Actions = '$Action'"; 

thanks to this:https://stackoverflow.com/a/44911709

関連する問題