Maison >développement back-end >tutoriel php >Comment échapper aux chaînes et gérer les erreurs dans les requêtes SQL Server à l'aide de PHP ?

Comment échapper aux chaînes et gérer les erreurs dans les requêtes SQL Server à l'aide de PHP ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-13 16:45:10383parcourir

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

Échapper des chaînes dans SQL Server à l'aide de PHP : alternatives à mysql_real_escape_string()

Alors que mysql_real_escape_string() de PHP est largement utilisé pour échapper des chaînes destinées à Requêtes de base de données MySQL, il ne convient pas à Microsoft SQL Server. Cet article explore les alternatives à l'échappement de chaîne et à la récupération d'erreurs dans SQL Server à l'aide de PHP.

Échappage de chaîne

Au lieu d'addslashes(), qui n'est pas entièrement adéquat, le La méthode de codage de chaîne d'octets hexadécimaux fournit une solution plus complète :

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

Une méthode plus abstraite implémentation :

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

Récupération d'erreurs

La fonction mssql_get_last_message() sert d'équivalent à mysql_error() dans le contexte de SQL Server, fournissant des informations détaillées sur tout rencontré des erreurs.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn