sqlsrv_errors
Mengembalikan informasi kesalahan dan/atau peringatan yang diperluas tentang operasi sqlsrv terakhir yang dilakukan.
Fungsi sqlsrv_errors dapat mengembalikan informasi kesalahan dan/atau peringatan dengan memanggilnya dengan salah satu nilai parameter yang ditentukan di bagian Parameter di bawah ini.
Secara default, peringatan yang dihasilkan pada panggilan ke fungsi sqlsrv diperlakukan sebagai kesalahan; jika peringatan terjadi pada panggilan ke fungsi sqlsrv, fungsi mengembalikan false. Namun, peringatan yang sesuai dengan nilai SQLSTATE 01000, 01001, 01003, dan 01S02 tidak pernah diperlakukan sebagai kesalahan.
Baris kode berikut menonaktifkan perilaku yang disebutkan di atas; peringatan yang dihasilkan oleh panggilan ke fungsi sqlsrv tidak menyebabkan fungsi mengembalikan false:
sqlsrv_configure("WarningsReturnAsErrors", 0);
Baris kode berikut menginstal ulang perilaku default; peringatan (dengan pengecualian, yang disebutkan di atas) diperlakukan sebagai kesalahan:
sqlsrv_configure("WarningsReturnAsErrors", 1);
Terlepas dari pengaturannya, peringatan hanya dapat diambil dengan memanggil sqlsrv_errors dengan nilai parameter SQLSRV_ERR_ALL atau SQLSRV_ERR_WARNINGS (lihat bagian Parameter di bawah ini untuk detailnya).
Sintaks
sqlsrv_errors( [int $errorsAndOrWarnings] )
Parameter
$errorsAndOrWarnings[OPSIONAL]: Konstanta yang telah ditentukan sebelumnya. Parameter ini dapat mengambil salah satu nilai yang tercantum dalam tabel berikut:
Nilai | Deskripsi |
---|---|
SQLSRV_ERR_ALL | Kesalahan dan peringatan yang dihasilkan pada panggilan fungsi sqlsrv terakhir dikembalikan. |
SQLSRV_ERR_ERRORS | Kesalahan yang dihasilkan pada panggilan fungsi sqlsrv terakhir dikembalikan. |
SQLSRV_ERR_WARNINGS | Peringatan yang dihasilkan pada panggilan fungsi sqlsrv terakhir dikembalikan. |
Jika tidak ada nilai parameter yang disediakan, kesalahan dan peringatan yang dihasilkan oleh panggilan fungsi sqlsrv terakhir dikembalikan.
Tampilkan Nilai
Array array, atau null. Setiap array dalam array yang dikembalikan berisi tiga pasangan kunci-nilai. Tabel berikut mencantumkan setiap kunci dan deskripsinya:
Kunci | Deskripsi |
---|---|
SQLSTATE | Untuk kesalahan yang berasal dari driver ODBC, SQLSTATE dikembalikan oleh ODBC. Untuk informasi tentang nilai SQLSTATE untuk ODBC, lihat Kode Kesalahan ODBC. Untuk kesalahan yang berasal dari Driver Microsoft untuk PHP untuk SQL Server, SQLSTATE IMSSP. Untuk peringatan yang berasal dari Driver Microsoft untuk PHP untuk SQL Server, SQLSTATE 01SSP. |
kode | Untuk kesalahan yang berasal dari SQL Server, kode kesalahan SQL Server asli. Untuk kesalahan yang berasal dari driver ODBC, kode kesalahan yang dikembalikan oleh ODBC. Untuk kesalahan yang berasal dari Driver Microsoft untuk PHP untuk SQL Server, Driver Microsoft untuk PHP untuk kode kesalahan SQL Server. Untuk informasi selengkapnya, lihat Menangani Kesalahan dan Peringatan. |
pesan | Deskripsi kesalahan. |
Nilai array juga dapat diakses dengan kunci numerik 0, 1, dan 2. Jika tidak ada kesalahan atau peringatan yang terjadi, null dikembalikan.
Contoh
Contoh berikut menampilkan kesalahan yang terjadi selama eksekusi pernyataan yang gagal. (Pernyataan gagal karena InvalidColumName bukan nama kolom yang valid dalam tabel yang ditentukan.) Contoh mengasumsikan bahwa SQL Server dan database AdventureWorks diinstal di komputer lokal. Semua output ditulis ke konsol saat contoh dijalankan dari baris perintah.
<?php
/* Connect to the local server using Windows Authentication and
specify the AdventureWorks database as the database in use. */
$serverName = "(local)";
$connectionInfo = array( "Database"=>"AdventureWorks");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false )
{
echo "Could not connect.\n";
die( print_r( sqlsrv_errors(), true));
}
/* Set up a query to select an invalid column name. */
$tsql = "SELECT InvalidColumnName FROM Sales.SalesOrderDetail";
/* Attempt execution. */
/* Execution will fail because of the invalid column name. */
$stmt = sqlsrv_query( $conn, $tsql);
if( $stmt === false )
{
if( ($errors = sqlsrv_errors() ) != null)
{
foreach( $errors as $error)
{
echo "SQLSTATE: ".$error[ 'SQLSTATE']."\n";
echo "code: ".$error[ 'code']."\n";
echo "message: ".$error[ 'message']."\n";
}
}
}
/* Free connection resources */
sqlsrv_close( $conn);
?>