2014-04-17 4 views
10

Я переносился из MySQL в MS SQL Server и пытался извлечь все данные из таблицы подпрограмм. Я подключен, но не знаю, как получить данные с помощью sqlsrv. Это, как далеко я пришел:PHP sqlsrv запрос к базе данных

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

ответ

9

Прежде всего, если я не ошибаюсь, вы сохраняете sqlsrv_connect результат в $conn, и этот результат не является классом obj его ресурсом, поэтому удалите $db->conn

Этот пример, соединит, то принести, если есть ресурсы, возвращаемые из 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

После того, как вы успешно выполнили запрос с sqlsrv_query вы можете получить результаты, например, с помощью 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

Я получаю эту ошибку: https://www.dropbox.com/s/lod1s8olf1iwog3/errors.png, его в строке $ result это ошибки. – user3185936

+0

Ваш '$ db-> db_conn' is' null' ... – Mureinik

+0

Я не уверен, правильно ли $ db-> db_conn. – user3185936

0

Попробуйте это:

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

sqlsrv_free_stmt($result); 
+2

Когда вы отвечаете с кодом, предоставьте краткое объяснение вместе с код. – Thom