Autor Zpráva
blaaablaaa
Profil
Ahoj,

mám problém s SQLSRV v PHP - nedaří se mi z procedury vytáhnout výstupní proměnné. Když proceduru spustím na SQL serveru, vrátí mi vše správně.

//$ret = sqlsrv_query($conn, "EXEC android_login @nick=?, @pwd=?, @TOKEN=?, @INT=?", array(
$ret = sqlsrv_query($conn, "{call android_login(?,?,?,?)}", array(
    array("nick", SQLSRV_PARAM_IN),
    array("heslo", SQLSRV_PARAM_IN),
    array($token, SQLSRV_PARAM_OUT),
    array($int, SQLSRV_PARAM_OUT)
   ));

Zkoušel jsem verzi s EXEC i CALL, ale parametry jsou vždy prázdné (resp. mají původní hodnotu z php), zkoušel jsem upřesnit datové typy výstupů (SQLSRV_PHPTYPE_STRING) ale bezúspešně. Procedura se přitom úspěšně provede, sqlsrv_errors() vrací null. $ret správně vrátí výsledek procedury.

Netušíte, kde by mohla být chyba? Díky


Tak vyřešeno.
V proceduře jsem měl jeden SELECT, který ale nevracel žádný resultset, jen jsem pomocí něj a @@rowcount větvil proceduru.
Za dotazem tedy stačilo zavolat sqlsrv_next_result($ret) a vše jde jak má.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0