Binary
Benutzer
- Beiträge
- 7
Hallo zusammen,
ich würde gerne eine Stored Procedure die ich als SQL Query über Microsoft SQL Server Management Studio ansprechen kann, über PHP mittels SQLSRV ansprechen.
Folgendes funktionier bereits:
SQL-Query:
Über PHP
Folgendes würde ich gerne realisieren:
SQL-Query:
Versuch über PHP
Die Rückmeldung lautet:
Error in executing statement. Array ( [0] => Array ( [0] => 42000 [SQLSTATE] => 42000 [1] => 201 => 201 [2] => [Microsoft][SQL Server Native Client 11.0][SQL Server]Die Prozedur oder Funktion 'SP_TPL_AddEditRegionUser' erwartet den @AccessLevels-Parameter, der nicht bereitgestellt wurde. [message] => [Microsoft][SQL Server Native Client 11.0][SQL Server]Die Prozedur oder Funktion 'SP_TPL_AddEditRegionUser' erwartet den @AccessLevels-Parameter, der nicht bereitgestellt wurde. ) )
ich würde gerne eine Stored Procedure die ich als SQL Query über Microsoft SQL Server Management Studio ansprechen kann, über PHP mittels SQLSRV ansprechen.
Folgendes funktionier bereits:
SQL-Query:
Code:
Execute SP_TPL_DeleteUser
@ExternalFieldID = 25
Über PHP
Code:
// Define the Transact-SQL query
$tsql_callSP = "{call SP_TPL_DeleteUser(?)}";
// Define the parameter array
$ExternalFieldID=25;
$params = array(
array($ExternalFieldID, SQLSRV_PARAM_IN));
// Execute the query
$stmt = sqlsrv_query( $conn, $tsql_callSP, $params);
if( $stmt === false )
{
echo "Error in executing statement.\n";
die( print_r( sqlsrv_errors(), true));
}
Folgendes würde ich gerne realisieren:
SQL-Query:
Code:
DECLARE @currentDate DATETIME
SELECT @currentDate = GETDATE()
EXECUTE SP_TPL_AddEditRegionUser
@ExternalFieldID = 27,
@Forename = Vorname,
@Surname = Nachname,
@Primary = '00114123',
@Secondary = 1234,
@Udetail_01 = null,
@Udetail_02 = null,
@Udetail_03 = null,
@Udetail_04 = null,
@Udetail_05 = null,
@Udetail_06 = null,
@Udetail_07 = null,
@Udetail_08 = null,
@Udetail_09 = null,
@Udetail_10 = null,
@Udetail_11 = null,
@RegionName = null,
@ActiveFlag = 1,
@ActiveDate = null,
@ExpiryDate = null,
@AccessLevels = 0000000001
Versuch über PHP
Code:
// Define the Transact-SQL query
$tsql_callSP = "{call SP_TPL_AddEditRegionUser(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,)}";
// Define the parameter array
$ExternalFieldID = 26;
$Forename = 'Kian';
$Surname = 'Salem';
$Primary = '00114123';
$Secondary = 1234;
$Udetail_01 = null;
$Udetail_02 = null;
$Udetail_03 = null;
$Udetail_04 = null;
$Udetail_05 = null;
$Udetail_06 = null;
$Udetail_07 = null;
$Udetail_08 = null;
$Udetail_09 = null;
$Udetail_10 = null;
$Udetail_11 = null;
$RegionName = null;
$ActiveFlag = 1;
$ActiveDate = null;
$ExpiryDate = null;
$AccessLevels = 0000000001;
$params = array(
array($ExternalFieldID, SQLSRV_PARAM_IN),
array($Forename, SQLSRV_PARAM_IN),
array($Surname, SQLSRV_PARAM_IN),
array($Primary, SQLSRV_PARAM_IN),
array($Secondary, SQLSRV_PARAM_IN),
array($Udetail_01, SQLSRV_PARAM_IN),
array($Udetail_02, SQLSRV_PARAM_IN),
array($Udetail_03, SQLSRV_PARAM_IN),
array($Udetail_04, SQLSRV_PARAM_IN),
array($Udetail_05, SQLSRV_PARAM_IN),
array($Udetail_06, SQLSRV_PARAM_IN),
array($Udetail_07, SQLSRV_PARAM_IN),
array($Udetail_08, SQLSRV_PARAM_IN),
array($Udetail_09, SQLSRV_PARAM_IN),
array($Udetail_10, SQLSRV_PARAM_IN),
array($Udetail_11, SQLSRV_PARAM_IN),
array($RegionName, SQLSRV_PARAM_IN),
array($ActiveFlag, SQLSRV_PARAM_IN),
array($ActiveDate, SQLSRV_PARAM_IN),
array($ExpiryDate, SQLSRV_PARAM_IN),
array($AccessLevels, SQLSRV_PARAM_IN));
// Execute the query
$stmt = sqlsrv_query( $conn, $tsql_callSP, $params);
if( $stmt === false )
{
echo "Error in executing statement.\n";
die( print_r( sqlsrv_errors(), true));
}
Die Rückmeldung lautet:
Error in executing statement. Array ( [0] => Array ( [0] => 42000 [SQLSTATE] => 42000 [1] => 201 => 201 [2] => [Microsoft][SQL Server Native Client 11.0][SQL Server]Die Prozedur oder Funktion 'SP_TPL_AddEditRegionUser' erwartet den @AccessLevels-Parameter, der nicht bereitgestellt wurde. [message] => [Microsoft][SQL Server Native Client 11.0][SQL Server]Die Prozedur oder Funktion 'SP_TPL_AddEditRegionUser' erwartet den @AccessLevels-Parameter, der nicht bereitgestellt wurde. ) )