【发布时间】:2015-07-11 00:08:27
【问题描述】:
帮助我使用 PHP ADODB、MSSQ 执行带参数的存储过程。
$stmt = $db->PrepareSP('VM_SEARCH_SMSC');//stored procedure VM_SEARCH_SMSC
$search = 'test';
$string = 'SearchString';
$db->InParameter($stmt,$search,$string);
//return values.
$data = array();
$data['SNo'] = 0;
$data['SNSCID'] = 0;
$data['SMSCNAME'] = 0;
$data['MODE'] = '';
$data['ISACTIVE'] = 0;
$data['FIELD1'] = 0;
$data['ISBIND'] = 0;
$data['BNDOTHERRSRC'] = '';
$data['THRPT'] = '';
$db->OutParameter($statement, $data['SNo'], 'SNo');
$db->OutParameter($statement, $data['SNSCID'], 'SNSCID');
$db->OutParameter($statement, $data['SMSCNAME'], 'SMSCNAME');
$db->OutParameter($statement, $data['MODE'], 'MODE');
$db->OutParameter($statement, $data['ISACTIVE'], 'ISACTIVE');
$db->OutParameter($statement, $data['FIELD1'], 'FIELD1');
$db->OutParameter($statement, $data['ISBIND'], 'ISBIND');
$db->OutParameter($statement, $data['BNDOTHERRSRC'], 'BNDOTHERRSRC');
$db->OutParameter($statement, $data['THRPT'], 'THRPT');
$result = $db->Execute($stmt);
if (!$result){
print $db->ErrorMsg();
echo '<br /><br />';
}
错误:
SQLState:42000 错误代码:201 消息:[Microsoft][SQL Server Native 客户端 11.0][SQL Server]过程或函数 'VM_SEARCH_SMSC' 需要 未提供参数“@SearchString”。
谁来帮帮我
【问题讨论】:
-
给定链接“ughai”没有解决方案
-
您可以检查
InParameter返回的值,看看它是真正绑定值还是静默失败? -
根据我的调查,MSSQL 的 ADODB 驱动程序似乎不支持带参数的存储过程。使用 sqlsrv 绑定参数。
标签: php sql-server stored-procedures adodb sqlsrv