Autor | Zpráva | ||
---|---|---|---|
leorond Profil |
#1 · Zasláno: 12. 9. 2016, 15:34:44
Dobré odpoledne, chtěl bych se zeptat na funkci
mssql_get_last_message() . Zajímá mne jak jí použít pro rozšíření sqlsrv .
Dříve jsem data vypisoval takto $sqll = mssql_query(" declare @items varbinary(1920); set @items = (select items from warehouse where accountid='$username'); print @items;"); $sqll = mssql_get_last_message(); Vím že alternativou pro sqlsrv je sqlsrv_errors() ale jak na query?
Něco dělám špatně a když použiji výše uvedený dotaz tak se mi stránka vůbec nenačte. |
||
leorond Profil |
Tak jsem to nakonec zkusil takto
$stmt = sqlsrv_query($conn, "SELECT CONVERT(VARBINARY(1920), Items, 0) FROM warehouse WHERE AccountID = 'ADMIN'"); if( $stmt === false ) { if( ($errors = sqlsrv_errors() ) != null) { foreach( $errors as $error ) { echo "SQLSTATE: ".$error[ 'SQLSTATE']."<br />"; echo "code: ".$error[ 'code']."<br />"; echo "message: ".$error[ 'message']."<br />"; } } } Ale nic mi to nevypíše, v MSSQL dostanu výsledek na [#1] leorond i na tento ale první nemohu použít jelikož nejsou povoleny názvy sloupců pro print .
Zkrátka nedostanu žádnou chybu nic Pokud vypíšu výsledek pomocí fetch_array() a použiji funkci bin2hex() tak dostanu správný výsledek ale to nemusím ani použít CONVERT v dotazu.
|
||
Zechy Profil |
leorond:
„Pokud vypíšu výsledek pomocí fetch_array() a použiji funkci bin2hex() tak dostanu správný výsledek ale to nemusím ani použít CONVERT v dotazu.“
Nula totiž udává, že převádíš varbinary původního tvaru uloženého v items do stejného tvaru. Tudíž správně to pak je až po bin2hex. Když použiješ v Convert 1 nebo 2, mělo by jej to převést do správného tvaru. |
||
leorond Profil |
#4 · Zasláno: 13. 9. 2016, 15:09:38
Zechy:
Děkuji |
||
Časová prodleva: 7 let
|
0