2017-05-18 17 views
0

stuff関数で一重引用符をエスケープするにはどうすればよいですか?私はPHPとMicrosoft SQLを接続しています。tsql string(ms sql)のPHPでシングルクォートをエスケープする方法

$hcode = $_GET['hcode']; 
$sql = "SELECT AB.HCode, STUFF(AB.Name1,1,6, '') FROM Article AB WHERE Mandant=1 AND Language= 'EN' AND HCode= '".$hcode."' AND AB.Name1 IS NOT NULL"; 
$result = sqlsrv_query($conn, $sql); 
+0

あなたはエラーが表示されます。 – scaisEdge

+0

私の間違い私はstuff関数の名前を忘れていました... STUFF()AS名。今何事も働いている –

答えて

0

MS SQLのための単一引用符付き文字列をエスケープするために、我々は別の単一引用符を追加することによって、それをエスケープする必要があります。

以下の関数がこれを行います。だから、あなたはこの関数を使用してみてください:

public static function mssql_escape($unsafe_str) 
{ 
    if (get_magic_quotes_gpc()) 
    { 
     $unsafe_str = stripslashes($unsafe_str); 
    } 
    return $escaped_str = str_replace("'", "''", $unsafe_str); 
} 
//for example $unsafe = "AB'CD'EF"; 
$escaped = mssql_escape($unsafe); 
echo $escaped;// Would output the escaped string as "AB''CD''EF" 
関連する問題