Jak połączyć się z baza danych MS SQL lokalnie poprzez PHP?

0

Hej, mam pytanko, mianowicie mam stworzoną mała bazę danych w MS SQL 2018 do której chciałbym dopisywać dane poprzez formularz stworzony w PHP, czy istnieje możliwość podpięcia wszystkiego lokalnie na moim PC? Mam zainstalowanego XAMPPA ale chciałbym zrobić to w MS SQLu. Znalazłem jakiś kod do podpinania się z tym, że nie wiem czy można zrobić to lokalnie, co wpisać, albo potrzebne jest jeszcze jakieś oprogramowanie?

<?php
 
$serverName = "adres_serwera_mssql, numer_portu";
 
$connectionInfo = array( "Database"=>"nazwa_bazy_danych",
                         "UID"=>"nazwa_uzytkownika_bazy_danych",
                         "PWD"=>"haslo");

$conn = sqlsrv_connect( $serverName, $connectionInfo);
 
if( $conn === false )
{
    die( print_r( sqlsrv_errors(), true));
}
 
//Przykładowe zapytanie zwracające zawartość tabeli

$wynik = sqlsrv_query($conn, "SELECT * FROM nazwa_tabeli");
if($wynik === false) {
    die( print_r( sqlsrv_errors(), true));
}
while( $row = sqlsrv_fetch_array($wynik, SQLSRV_FETCH_ASSOC) ) {
    echo $row['nazwa_kolumny1'].", ".$row['nazwa_kolumny2']."<br />";
}

?>
1

Tak, jest taka możliwość.

Czy coś już próbowałeś robić?
Z czym masz problem?

0

Czy lokalnie też mogę skorzystać z tego skryptu?
Uzupełniłem go trochę ale nie do końca i nie wiem czy dobrze. Co ewentualnie wpisać w miejsce znaków zapytania?

<?php
 
$serverName = "?????????";
 
$connectionInfo = array( "Database"=>"football_project",
                         "UID"=>"????????",
                         "PWD"=>"*???????");

$conn = sqlsrv_connect( $serverName, $connectionInfo);
 
if( $conn === false )
{
    die( print_r( sqlsrv_errors(), true));
}
 
//Przykładowe zapytanie zwracające zawartość tabeli

$wynik = sqlsrv_query($conn, "SELECT * FROM druzyny");
if($wynik === false) {
    die( print_r( sqlsrv_errors(), true));
}
while( $row = sqlsrv_fetch_array($wynik, SQLSRV_FETCH_ASSOC) ) {
    echo $row['IDDruzyny'].", ".$row['Nazwa_druzyny']."<br />";
}

?>

screenshot-20210821161923.png
Czy powinienem założyć jakieś konto żeby mieć ten username i pw do wpisania do skryptu?

1

https://www.easysoft.com/developer/languages/php/sql_server_unix_tutorial.html

Wydaje mi się, że w tym linku masz wszystko podane. Jest tam wiele informacji, część z nich będzie dla ciebie średnio przydatna, ale jest kilka rzeczy, które powinny ci pomóc.

Rzuć jeszcze okiem na https://social.msdn.microsoft.com/Forums/sqlserver/en-US/7e32b20c-a5dc-456a-91ae-23bf121784a4/accessing-sql-server-instance-using-localhost-127001?forum=sqlexpress

0

Dzisiaj to chyba najlepiej i najprościej przez PDO.

  try {
    $dbh = new PDO("sqlsrv:Server=YouAddress;Database=YourDatabase", "Username", "Password");
  } catch (PDOException $e) {
    echo "Failed to get DB handle: " . $e->getMessage() . "\n";
    return;
  }
  $stmt = $dbh->prepare("select * FROM your_table;");
  $stmt->execute();
  while ($row = $stmt->fetch()) {
    print_r($row);
  }

1

Używasz autoryzacji windows , więc pierwszy przykład z dokumentacji https://www.php.net/manual/en/function.sqlsrv-connect.php

Nie dewiniujesz UID i PWD, $server_name dokładnie tak jak w SSMS, lub localhost

1 użytkowników online, w tym zalogowanych: 0, gości: 1