我無法使用SQL Server 2014,PHP 7和Apache 2.4.17執行帶有輸出參數的sp。使用未定義的常量SQLSRV_SQLTYPE_VARCHAR - 假定爲'SQLSRV_SQLTYPE_VARCHAR
這是PHP:
$nombreUsuario = "DrBrahim";
$contraseña = "123456";
$resultado = "dummie";
$datosBienvenida = "dummie";
$sql = "{CALL LOGINv2 (?, ?, ?, ?)}";
$params = array(
array($nombreUsuario, SQLSRV_PARAM_IN),
array($contraseña, SQLSRV_PARAM_IN),
array(&$resultado, SQLSRV_PARAM_OUT, null, SQLSRV_SQLTYPE_VARCHAR),
array(&$datosBienvenida, SQLSRV_PARAM_OUT, null, SQLSRV_SQLTYPE_VARCHAR),
);
$stmt = sqlsrv_query($conn, $sql, $params);
if($stmt === false){
echo 'No se pudo ejecutar la consulta:<br>';
var_dump(sqlsrv_errors());
die(print_r(sqlsrv_errors(), true));
}
else{
sqlsrv_next_result($stmt);
echo $resultado . "<br>Resultado: " . $resultado .
"<br>Datos de bienvenida: " . $datosBienvenida;
}
我得到這個:
注意:未定義的常量SQLSRV_PHPTYPE_STRING的使用 - 假設 「SQLSRV_PHPTYPE_STRING
而且這樣的:
指定了參數3的無效PHP類型。
我經歷過以下問題和引用(及以上),沒有他們的幫助:
- PHP Get return value from MSSQL Stored Procedure
- https://msdn.microsoft.com/en-us/library/cc296183(v=sql.105).aspx
注:當我嘗試使用這個WebMatrix我只看到第二條消息。
'SQLSRV_PHPTYPE_STRING'是無處在該代碼。 – AbraCadaver
我也試過。 –