Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Melarikan Diri Rentetan dan Mengendalikan Ralat dalam Pertanyaan SQL Server Menggunakan PHP?

Bagaimana untuk Melarikan Diri Rentetan dan Mengendalikan Ralat dalam Pertanyaan SQL Server Menggunakan PHP?

Susan Sarandon
Lepaskan: 2024-12-13 16:45:10
asal
326 orang telah melayarinya

How to Escape Strings and Handle Errors in SQL Server Queries Using PHP?

Melepaskan Rentetan dalam Pelayan SQL Menggunakan PHP: Alternatif kepada mysql_real_escape_string()

Sementara mysql_real_escape_string() PHP digunakan secara meluas untuk escaping string() Pertanyaan pangkalan data MySQL, ia tidak sesuai untuk Microsoft SQL Server. Artikel ini meneroka alternatif untuk melarikan diri rentetan dan mendapatkan semula ralat dalam SQL Server menggunakan PHP.

String Escaping

Sebaliknya addslashes(), yang tidak mencukupi sepenuhnya, kaedah pengekodan rentetan bait hex menyediakan penyelesaian yang lebih komprehensif:

$unpacked = unpack('H*hex', $data);
mssql_query('
    INSERT INTO sometable (somecolumn)
    VALUES (0x' . $unpacked['hex'] . ')
');
Salin selepas log masuk

Yang lebih abstrak pelaksanaan:

function mssql_escape($data) {
    if(is_numeric($data))
        return $data;
    $unpacked = unpack('H*hex', $data);
    return '0x' . $unpacked['hex'];
}

mssql_query('
    INSERT INTO sometable (somecolumn)
    VALUES (' . mssql_escape($somevalue) . ')
');
Salin selepas log masuk

Ralat Retrieval

Fungsi mssql_get_last_message() berfungsi sebagai setara dengan mysql_error() dalam konteks SQL Server, memberikan maklumat terperinci tentang sebarang mengalami ralat.

Atas ialah kandungan terperinci Bagaimana untuk Melarikan Diri Rentetan dan Mengendalikan Ralat dalam Pertanyaan SQL Server Menggunakan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan