| 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: 9 let
|
|||
0