ADODB / SQL Server mssql_execute saklı yordam başarısız ama ayıklama ayarlanır true ise çalışır

0 Cevap php

Ben ADODB kullanarak PHP bir SQL Server veritabanına bağlıyorum. Ben sadece iyi yürütmekte olan birkaç saklı prosedürleri var. Nedense ben yarattık son çağrı başarısız tutar. Ben gerçek olarak hata ayıklama koymak ve gayet güzel çalışıyor. Ben bu oluyor neden hiçbir fikrim yok.

buraya alıyorum hata

Error: mssql_execute() [<a href='function.mssql-execute'>function.mssql-execute</a>]:      stored procedure execution failed  in /path/to/adodb/lib/adodb5/drivers/adodb-mssql.inc.php on line 768

İşte ben bu diğer saklı yordamlar ile çalışıyor ama bu bir ve ben çift tüm parametrelerin yazımlar ve saklı yordam doğru olduğunu kontrol ettikten dediğim gibi, bütün benim saklı prosedürleri geçmek için oluşturulan bir yöntemdir.

protected function _getSpArray($db, $sp, array $spParams) {
    try {
        $stmt = $db->PrepareSP($sp);
        foreach ($spParams as $param) {
            $db->InParameter($stmt, $param[0], $param[1]);
        }
        $db->SetFetchMode(ADODB_FETCH_ASSOC);
        $rs = $db->Execute($stmt);
        $rsArray = array();
        if (!$rs) {
            echo 'No records found \n';
            return;
        }
        else {
            foreach ($rs as $k => $row) {
                $rsArray[$k] = $row;
            }
        }
        return $rsArray;
    } catch (ErrorException $e) {
        echo $e->getMessage();
    }
}

Bu adodb5/drivers/adodb-mssql.inc.php bu hat # 768 üzerinde başarısız oluyor

$rez = mssql_execute($sql[1]);

ve sql dizi bu değerlere sahip

[0] stored_procedure_name
[1] resource id='657' type='mssql statement'

Ben PHP.net üzerinde şu açıklamaları gördük, ben farklı bir şey sonra IP adresi ve hala hiçbir şey olmak benim freetds bilgisayar adını değiştirdi. Ben ADODB kullanıyorum çünkü ben özgür sonucu hakkında emin değilim.

http://www.php.net/manual/en/function.mssql-execute.php#93938

Ben ADODB 5.11 kullanıyorum

0 Cevap