Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich mit PHP Zeichenfolgen maskieren und Fehler in SQL Server-Abfragen behandeln?

Wie kann ich mit PHP Zeichenfolgen maskieren und Fehler in SQL Server-Abfragen behandeln?

Susan Sarandon
Susan SarandonOriginal
2024-12-13 16:45:10388Durchsuche

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

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn