提问人:Uri Chachick 提问时间:10/24/2023 更新时间:10/24/2023 访问量:53
通过 PHP 在 SQL Server 上执行存储过程时出现问题 [已关闭]
Problem in executing Stored Procedure on SQL Server Via PHP [closed]
问:
我正在运行以下代码:
$conn = sqlsrv_connect( $serverName, $connectionInfo);
$affiliateId = 0;
$month = 10;
$year = 2023;
$groupid = 17;
$search = '';
$procedure_params = array(
array(&$affiliateId, SQLSRV_PARAM_IN),
array(&$month, SQLSRV_PARAM_IN),
array(&$year, SQLSRV_PARAM_IN),
array(&$groupid, SQLSRV_PARAM_IN),
array(&$search, SQLSRV_PARAM_IN)
);
$sql = "EXEC [dbo].[smart_getAffiliateLeadListSearch] @AffiliateId = ?, @month = ?, @year = ?, @groupId = ?, @search = ?";
$stmt = sqlsrv_prepare($conn, $sql, $procedure_params);
if( !$conn ) {
echo 'Connection error<br>';
die( '<pre>'.print_r( sqlsrv_errors(), true).'</pre>');
} else if( !$stmt ) {
echo 'Statment error<br>';
die( '<pre>'.print_r( sqlsrv_errors(), true).'</pre>');
} else if( sqlsrv_execute( $stmt ) === false ) {
echo 'Execution error<br>';
die( '<pre>'.print_r( sqlsrv_errors(), true).'</pre>');
}
我得到以下输出
Execution error
Array
(
[0] => Array
(
[0] => 01000
[SQLSTATE] => 01000
[1] => 0
[code] => 0
[2] => [Microsoft][ODBC Driver 18 for SQL Server][SQL Server]Oct 1 2023 12:00AM
[message] => [Microsoft][ODBC Driver 18 for SQL Server][SQL Server]Oct 1 2023 12:00AM
)
[1] => Array
(
[0] => 01000
[SQLSTATE] => 01000
[1] => 0
[code] => 0
[2] => [Microsoft][ODBC Driver 18 for SQL Server][SQL Server]Nov 1 2023 12:00AM
[message] => [Microsoft][ODBC Driver 18 for SQL Server][SQL Server]Nov 1 2023 12:00AM
)
)
我不明白这些错误。似乎错误消息只是日期。
我很想得到一些帮助。
我为查询尝试了不同的语法(带和不带括号,带和不带前缀的 [dbo])。 我试过使用sqlsrv_prepare和sqlsrv_query。得到了几乎相同的结果。
我希望得到数据,但sqlsrv_execute不断给我错误。
答: 暂无答案
评论