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'] . ') ');
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) . ') ');
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!