É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!