Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Melarikan Diri String dengan Selamat dalam SQL Server Apabila Menggunakan PHP?

Bagaimana untuk Melarikan Diri String dengan Selamat dalam SQL Server Apabila Menggunakan PHP?

Barbara Streisand
Lepaskan: 2024-12-14 02:36:09
asal
317 orang telah melayarinya

How to Safely Escape Strings in SQL Server When Using PHP?

Melepaskan Rentetan dengan Selamat dalam Pelayan SQL Menggunakan PHP

Apabila berinteraksi dengan Pelayan SQL menggunakan PHP, adalah penting untuk memastikan bahawa sebarang data yang dibekalkan pengguna dilepaskan dengan betul, menghalang SQL serangan suntikan. Walaupun mysql_real_escape_string() biasanya digunakan untuk MySQL, ia tidak tersedia untuk SQL Server.

Alternatif untuk Melarikan String: mssql_escape()

Tidak seperti MySQL, SQL Server tidak menyediakan fungsi khusus untuk rentetan melarikan diri. Walau bagaimanapun, anda boleh mencipta fungsi anda sendiri:

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

$escaped_value = mssql_escape($user_input);
Salin selepas log masuk

Fungsi ini mengekod data sebagai rentetan bait heksadesimal, memastikan sebarang aksara khas dilepaskan.

Alternatif untuk mysql_error(): mssql_get_last_message((( )

Untuk mendapatkan semula mesej ralat daripada SQL Pelayan, gunakan mssql_get_last_message():

$error_message = mssql_get_last_message();
Salin selepas log masuk

Fungsi ini mendapatkan semula mesej ralat terakhir yang dijana oleh pelaksanaan pertanyaan SQL Server.

Contoh Penggunaan

Menggabungkan fungsi ini, anda boleh memasukkan input pengguna ke dalam jadual SQL Server dengan selamat:

$connection = mssql_connect(...);
$query = 'INSERT INTO sometable (somecolumn) VALUES (' . mssql_escape($user_input) . ')';
$result = mssql_query($query, $connection);

if (!$result) {
    $error_message = mssql_get_last_message(); // Retrieve error message
}
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Melarikan Diri String dengan Selamat dalam SQL Server Apabila 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