2014-04-17 19 views
10

Po migracji z serwera MySQL do serwera MS SQL Server i próbie pobrania wszystkich danych z tabeli procedur. Jestem podłączony, ale nie wiem, jak pobrać dane za pomocą programu sqlsrv. Jest to, jak daleko mam przyszedł:Kwerenda PHP sqlsrv do bazy danych

$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); 
?> 

Odpowiedz

9

Po pierwsze, jeśli się nie mylę, przechowuje się sqlsrv_connect wynik w postaci $conn, a ten wynik nie jest obiektem objętym klasą, więc usuń $db->conn

tym przykładzie, będzie łączyć, a następnie pobrać, jeśli istnieją środki zwracane z 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

Po pomyślnie wykonał zapytanie z sqlsrv_query można pobrać wyników, na przykład za pomocą 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

otrzymuję ten błąd: https://www.dropbox.com/s/lod1s8olf1iwog3/errors.png, jego w wierszu $ result to błędy. – user3185936

+0

Twój '$ db-> db_conn' to' null' ... – Mureinik

+0

Nie jestem pewien, czy $ db-> db_conn jest poprawny. – user3185936

0

Spróbuj tego:

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

sqlsrv_free_stmt($result); 
+2

Po udzieleniu odpowiedzi na kod, proszę podać krótkie wyjaśnienie wraz z kod. – Thom