Bagikan melalui


Cara: Menentukan Arah Parameter Menggunakan Driver SQLSRV

Unduh driver PHP

Topik ini menjelaskan cara menggunakan driver SQLSRV untuk menentukan arah parameter saat Anda memanggil prosedur tersimpan. Arah parameter ditentukan saat Anda membuat array parameter (langkah 3) yang diteruskan ke sqlsrv_query atau sqlsrv_prepare.

Untuk menentukan arah parameter

  1. Tentukan kueri Transact-SQL yang memanggil prosedur tersimpan. Gunakan tanda tanya (?) alih-alih parameter yang akan diteruskan ke prosedur tersimpan. Misalnya, string ini memanggil prosedur tersimpan (UpdateVacationHours) yang menerima dua parameter:

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

    Catatan

    Memanggil prosedur tersimpan menggunakan sintaksis kanonis adalah praktik yang direkomendasikan. Untuk informasi selengkapnya tentang sintaksis kanonis, lihat Memanggil Prosedur Tersimpan.

  2. Menginisialisasi atau memperbarui variabel PHP yang sesuai dengan tempat penampung dalam kueri Transact-SQL. Misalnya, kode berikut menginisialisasi dua parameter untuk prosedur tersimpan UpdateVacationHours:

    $employeeId = 101;  
    $usedVacationHours = 8;  
    

    Catatan

    Variabel yang diinisialisasi atau diperbarui ke jenis null, DateTime, atau stream tidak dapat digunakan sebagai parameter output.

  3. Gunakan variabel PHP Anda dari langkah 2 untuk membuat atau memperbarui array nilai parameter yang sesuai, secara berurutan, ke tempat penampung parameter dalam string Transact-SQL. Tentukan arah untuk setiap parameter dalam array. Arah setiap parameter ditentukan dalam salah satu dari dua cara: secara default (untuk parameter input) atau dengan menggunakan konstanta SQLSRV_PARAM_* (untuk parameter output dan dua arah). Misalnya, kode berikut menentukan parameter $employeeId sebagai parameter input dan parameter $usedVacationHours sebagai parameter dua arah:

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

    Untuk memahami sintaks untuk menentukan arah parameter secara umum, misalkan $var 1, $var 2, dan $var 3 sesuai dengan parameter input, output, dan dua arah. Anda dapat menentukan arah parameter dengan salah satu cara berikut:

    • Tentukan parameter input secara implisit, tentukan parameter output secara eksplisit, dan tentukan parameter dua arah secara eksplisit:

      array(   
             array($var1),  
             array($var2, SQLSRV_PARAM_OUT),  
             array($var3, SQLSRV_PARAM_INOUT)  
             );  
      
    • Tentukan parameter input secara eksplisit, tentukan parameter output secara eksplisit, dan tentukan parameter dua arah secara eksplisit:

      array(   
             array($var1, SQLSRV_PARAM_IN),  
             array($var2, SQLSRV_PARAM_OUT),  
             array($var3, SQLSRV_PARAM_INOUT)  
             );  
      
  4. Jalankan kueri dengan sqlsrv_query atau dengan sqlsrv_prepare dan sqlsrv_execute. Misalnya, kode berikut menggunakan $conn koneksi untuk menjalankan $tsql kueri dengan nilai parameter yang ditentukan dalam $params:

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

Lihat Juga

Cara: Mengambil Parameter Output Menggunakan Driver SQLSRV

Cara: Mengambil Parameter Input dan Output Menggunakan Driver SQLSRV