Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
PHP sürücüsünü indirme
SQL Server için PHP için Microsoft Sürücüleri, SQL Server'a bağlandığınızda SQL Server Kimlik Doğrulamasını destekler.
SQL Server Kimlik Doğrulaması yalnızca Windows Kimlik Doğrulaması mümkün olmadığında kullanılmalıdır. Windows Kimlik Doğrulaması ile bağlanma hakkında bilgi için bkz . Nasıl yapılır: Windows Kimlik Doğrulaması Kullanarak Bağlanma.
SQL Server'a bağlanmak için SQL Server Kimlik Doğrulaması kullandığınızda aşağıdaki noktalar dikkate alınmalıdır:
SQL Server Karma Mod Kimlik Doğrulaması sunucuda etkinleştirilmelidir.
Bağlantı kurmaya çalıştığınızda kullanıcı kimliği ve parola (SQLSRV sürücüsündeki UID ve PWD bağlantı öznitelikleri) ayarlanmalıdır. Kullanıcı kimliği ve parola geçerli bir SQL Server kullanıcısı ve parolası ile eşlenmelidir.
Uyarı
Kapanış küme ayracı (}) içeren parolaların ikinci bir kapanış küme ayracı ile kaçılması gerekir. Örneğin, SQL Server parolası "pass}word" ise PWD bağlantı özniteliğinin değeri "pass}}word" olarak ayarlanmalıdır.
SQL Server'a bağlanmak için SQL Server Kimlik Doğrulaması kullandığınızda aşağıdaki önlemler alınmalıdır:
- Web sunucusundan veritabanına ağ üzerinden geçirilen kimlik bilgilerini koruyun (şifreleyin). Kimlik bilgileri SQL Server 2005'te başlayarak varsayılan olarak şifrelenir. Daha fazla güvenlik için, sunucuya gönderilen tüm verileri şifrelemek için Bağlantıyı şifrele özniteliğini "açık" olarak ayarlayın.
Uyarı
Veri şifrelemesi işlem açısından yoğun olabileceğinden Bağlantıyı şifrele özniteliğinin "açık" olarak ayarlanması daha yavaş performansa neden olabilir.
PHP betiklerinde UID ve PWD bağlantı özniteliklerinin değerlerini düz metin olarak eklemeyin. Bu değerler, uygun kısıtlı izinlere sahip uygulamaya özgü bir dizinde depolanmalıdır.
sa hesabını kullanmaktan kaçının. Uygulamayı istenen ayrıcalıklara sahip olan ve güçlü bir parola kullanan bir veritabanı kullanıcısıyla eşleyin.
Uyarı
Bağlantı kurduğunuzda kullanıcı kimliği ve parolanın yanı sıra bağlantı öznitelikleri de ayarlanabilir. Desteklenen bağlantı özniteliklerinin tam listesi için bkz. Bağlantı Seçenekleri.
SQLSRV örneği
Aşağıdaki örnek, SQL Server'ın yerel bir örneğine bağlanmak için SQL Server Kimlik Doğrulaması ile SQLSRV sürücüsünü kullanır. Gerekli UID ve PWD bağlantı öznitelikleri için değerler, C:\AppData dizinindeki uygulamaya özgü metin dosyalarındanuid.txtve pwd.txtalınır. Bağlantı kurulduktan sonra, kullanıcı oturum açma bilgilerini doğrulamak için sunucu sorgulanır.
Örnekte SQL Server ve AdventureWorks veritabanının yerel bilgisayarda yüklü olduğu varsayılır. Örnek tarayıcıdan çalıştırıldığında tüm çıkış tarayıcıya yazılır.
<?php
/* Specify the server and connection string attributes. */
$serverName = "(local)";
/* Get UID and PWD from application-specific files. */
$uid = file_get_contents("C:\AppData\uid.txt");
$pwd = file_get_contents("C:\AppData\pwd.txt");
$connectionInfo = array( "UID"=>$uid,
"PWD"=>$pwd,
"Database"=>"AdventureWorks");
/* Connect using SQL Server Authentication. */
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false )
{
echo "Unable to connect.</br>";
die( print_r( sqlsrv_errors(), true));
}
/* Query SQL Server for the login of the user accessing the
database. */
$tsql = "SELECT CONVERT(varchar(32), SUSER_SNAME())";
$stmt = sqlsrv_query( $conn, $tsql);
if( $stmt === false )
{
echo "Error in executing query.</br>";
die( print_r( sqlsrv_errors(), true));
}
/* Retrieve and display the results of the query. */
$row = sqlsrv_fetch_array($stmt);
echo "User login: ".$row[0]."</br>";
/* Free statement and connection resources. */
sqlsrv_free_stmt( $stmt);
sqlsrv_close( $conn);
?>
PDO_SQLSRV örnek
Bu örnek, SQL Server Kimlik Doğrulaması'na nasıl bağlanacaklarını göstermek için PDO_SQLSRV sürücüsünü kullanır.
<?php
$serverName = "(local)";
$database = "AdventureWorks";
// Get UID and PWD from application-specific files.
$uid = file_get_contents("C:\AppData\uid.txt");
$pwd = file_get_contents("C:\AppData\pwd.txt");
try {
$conn = new PDO( "sqlsrv:server=$serverName;Database = $database", $uid, $pwd);
$conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
}
catch( PDOException $e ) {
die( "Error connecting to SQL Server" );
}
echo "Connected to SQL Server\n";
$query = 'select * from Person.ContactType';
$stmt = $conn->query( $query );
while ( $row = $stmt->fetch( PDO::FETCH_ASSOC ) ){
print_r( $row );
}
// Free statement and connection resources.
$stmt = null;
$conn = null;
?>
Ayrıca Bkz.
Nasıl yapılır: SQL Server Kimlik Doğrulaması Kullanarak Bağlanma
PHP için Microsoft SQL Server Sürücüleri Programlama Kılavuzu
Belgede Kod Örnekleri Hakkında
Nasıl yapılır: SQL Server Oturumu Oluşturma
Nasıl yapılır: Veritabanı Kullanıcısı Oluşturma