PHP sqlsrv запрос к базе данных
Я переносился из MySQL в MS SQL Server и пытался извлечь все данные из таблицы подпрограмм. Я подключен, но не знаю, как получить данные с помощью 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);
?>
Ответы
Ответ 1
Сначала, если я не ошибаюсь, вы сохраняете результат 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));
}
Ответ 2
После успешного выполнения запроса с помощью 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 />";
}
Ответ 3
Попробуйте следующее:
while( $row = sqlsrv_fetch_array( $result, SQLSRV_FETCH_ASSOC) ) {
var_dump($row);
}
sqlsrv_free_stmt($result);