Aracılığıyla paylaş


Nasıl yapılır: SQLSRV Sürücüsünü Kullanarak Parametre Yönünü Belirtme

PHP sürücüsünü indirme

Bu konuda, saklı yordamı çağırdığınızda parametre yönünü belirtmek için SQLSRV sürücüsünün nasıl kullanılacağı açıklanmaktadır. parametre yönü, sqlsrv_query veyasqlsrv_prepare geçirilen bir parametre dizisi (3. adım) oluşturduğunuzda belirtilir.

Parametre yönünü belirtmek için

  1. Saklı yordamı çağıran bir Transact-SQL sorgusu tanımlayın. Saklı yordama geçirilecek parametreler yerine soru işaretlerini (?) kullanın. Örneğin, bu dize iki parametre kabul eden bir saklı yordam (UpdateVacationHours) çağırır:

    $tsql = "{call UpdateVacationHours(?, ?)}";  
    

    Uyarı

    Kurallı söz dizimini kullanarak saklı yordamları çağırmak önerilen uygulamadır. Kurallı söz dizimi hakkında daha ayrıntılı bilgi için bkz. Saklı Yordam Çağırma.

  2. Transact-SQL sorgusundaki yer tutuculara karşılık gelen PHP değişkenlerini başlatın veya güncelleştirin. Örneğin, aşağıdaki kod UpdateVacationHours saklı yordamı için iki parametreyi başlatır:

    $employeeId = 101;  
    $usedVacationHours = 8;  
    

    Uyarı

    Başlatılan veya null, DateTime veya akış türlerine güncelleştirilen değişkenler çıkış parametresi olarak kullanılamaz.

  3. Sırasıyla Transact-SQL dizesindeki parametre yer tutucularına karşılık gelen bir parametre değerleri dizisi oluşturmak veya güncelleştirmek için 2. adımdaki PHP değişkenlerinizi kullanın. Dizideki her parametrenin yönünü belirtin. Her parametrenin yönü iki yoldan biriyle belirlenir: varsayılan olarak (giriş parametreleri için) veya SQLSRV_PARAM_* sabitleri kullanılarak (çıkış ve çift yönlü parametreler için). Örneğin, aşağıdaki kod $employeeId parametresini giriş parametresi ve $usedVacationHours parametresini çift yönlü parametre olarak belirtir:

    $params = array(  
                     array($employeeId, SQLSRV_PARAM_IN),  
                     array($usedVacationHours, SQLSRV_PARAM_INOUT)  
                    );  
    

    Parametre yönünü genel olarak belirtme söz dizimini anlamak için , $var 1, $var 2 ve $var 3'in sırasıyla giriş, çıkış ve çift yönlü parametrelere karşılık geldiğini varsayalım. Parametre yönünü aşağıdaki yollardan biriyle belirtebilirsiniz:

    • Giriş parametresini örtük olarak belirtin, çıkış parametresini açıkça belirtin ve açıkça çift yönlü bir parametre belirtin:

      array(   
             array($var1),  
             array($var2, SQLSRV_PARAM_OUT),  
             array($var3, SQLSRV_PARAM_INOUT)  
             );  
      
    • Giriş parametresini açıkça belirtin, çıkış parametresini açıkça belirtin ve açıkça bir çift yönlü parametre belirtin:

      array(   
             array($var1, SQLSRV_PARAM_IN),  
             array($var2, SQLSRV_PARAM_OUT),  
             array($var3, SQLSRV_PARAM_INOUT)  
             );  
      
  4. Sorguyu sqlsrv_query veya sqlsrv_prepare ve sqlsrv_execute ile yürütür. Örneğin, aşağıdaki kod, $conn bağlantısını kullanarak, $tsql sorgusunu, $params içinde belirtilen parametre değerleriyle çalıştırır.

    sqlsrv_query($conn, $tsql, $params);  
    

Ayrıca Bkz.

Nasıl yapılır: SQLSRV Sürücüsünü Kullanarak Çıkış Parametrelerini Alma

Nasıl yapılır: SQLSRV Sürücüsünü Kullanarak Giriş ve Çıkış Parametrelerini Alma