如何在 php 中为 tsql 字符串转义单引号(ms sql)
Posted
技术标签:
【中文标题】如何在 php 中为 tsql 字符串转义单引号(ms sql)【英文标题】:How to escape single quotes in php for tsql string (ms sql) 【发布时间】:2017-05-18 11:56:21 【问题描述】:如何在 stuff 函数中转义单引号?我正在将 Microsoft 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);
【问题讨论】:
更好地解释一下你的 sql 代码似乎是正确的......你有错误吗? 我的错误是我忘记将 stuff 函数命名为 ... STUFF() AS Name 。现在一切正常 【参考方案1】:要对 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"
【讨论】:
以上是关于如何在 php 中为 tsql 字符串转义单引号(ms sql)的主要内容,如果未能解决你的问题,请参考以下文章