2014-04-17 15 views
10

Sono migrato da MySQL a MS SQL Server e sto provando a recuperare tutti i dati dalla tabella delle routine. Sono connesso ma non sono sicuro di come recuperare i dati con sqlsrv. Questo è quanto ho venuto:SQL sqlsrv query al database

$conn_array = array (
    "UID" => "sa", 
    "PWD" => "root", 
    "Database" => "nih_bw", 
); 
$conn = sqlsrv_connect('BILAL', $conn_array); 
if ($conn){ 
    echo "connected"; 
    $result = sqlsrv_query($db->db_conn,"SELECT * FROM routines"); 
}else{ 
    die(print_r(sqlsrv_errors(), true)); 
} 
sqlsrv_close($conn); 
?> 

risposta

9

Innanzitutto se non ho torto si memorizza il risultato sqlsrv_connect in $conn e questo risultato non è un oggetto di classe è una risorsa, quindi rimuovere $db->conn

questo esempio, si collegherà, poi prendere se non ci sono risorse tornato da sqlsrv_query

$conn_array = array (
    "UID" => "sa", 
    "PWD" => "root", 
    "Database" => "nih_bw", 
); 
$conn = sqlsrv_connect('BILAL', $conn_array); 
if ($conn){ 
    echo "connected"; 
    if(($result = sqlsrv_query($conn,"SELECT * FROM routines")) !== false){ 
     while($obj = sqlsrv_fetch_object($result)) { 
       echo $obj->colName.'<br />'; 
     } 
    } 
}else{ 
    die(print_r(sqlsrv_errors(), true)); 
} 
1

Dopo aver eseguito con successo la query con sqlsrv_query è possibile recuperare i risultati, ad esempio, utilizzando sqlsrv_fetch_array:

$result = sqlsrv_query($db->db_conn, "SELECT * FROM routines"); 
if($result === false) { 
    die(print_r(sqlsrv_errors(), true)); 
} 

while($row = sqlsrv_fetch_array($result, SQLSRV_FETCH_ASSOC)) { 
    echo $row['column1'].", ".$row['column2']."<br />"; 
} 
+0

ottengo questo errore: https://www.dropbox.com/s/lod1s8olf1iwog3/errors.png, la sua nella riga del risultato $ errori. – user3185936

+0

Il tuo '$ db-> db_conn' è' null' ... – Mureinik

+0

Non sono sicuro se $ db-> db_conn sia corretto. – user3185936

0

Prova questa:

while($row = sqlsrv_fetch_array($result, SQLSRV_FETCH_ASSOC)) { 
    var_dump($row); 
} 

sqlsrv_free_stmt($result); 
+2

Quando rispondi con il codice, fornisci una breve spiegazione insieme a il codice. – Thom