Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich mit PHP Zeichenfolgen maskieren und Fehler in SQL Server-Abfragen behandeln?
Escaping von Zeichenfolgen in SQL Server mit PHP: Alternativen zu mysql_real_escape_string()
Während mysql_real_escape_string() von PHP häufig zum Escapen von Zeichenfolgen verwendet wird, für die es gedacht ist MySQL-Datenbankabfragen, es ist nicht für Microsoft SQL Server geeignet. In diesem Artikel werden Alternativen sowohl für das String-Escape als auch für den Fehlerabruf in SQL Server mit PHP untersucht.
String-Escapeping
Anstelle von addslashes(), was nicht völlig ausreichend ist, wird das Die Hex-Byte-String-Kodierungsmethode bietet eine umfassendere Lösung:
$unpacked = unpack('H*hex', $data); mssql_query(' INSERT INTO sometable (somecolumn) VALUES (0x' . $unpacked['hex'] . ') ');
Eine abstraktere Implementierung:
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) . ') ');
Fehlerabfrage
Die Funktion mssql_get_last_message() dient als Äquivalent zu mysql_error() im Kontext von SQL Server und liefert detaillierte Informationen zu allen Es sind Fehler aufgetreten.
Das obige ist der detaillierte Inhalt vonWie kann ich mit PHP Zeichenfolgen maskieren und Fehler in SQL Server-Abfragen behandeln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!