Cara: Menentukan Arah Parameter Menggunakan Driver SQLSRV
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
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.
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.
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) );
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