Javascript 如何防止SQL使用单引号字符存储转义字符

Javascript 如何防止SQL使用单引号字符存储转义字符,javascript,php,sql-server,Javascript,Php,Sql Server,我需要存储的文本字符串,将有一个单引号在开始和结束。 我正在从PHP发出JavaScript命令。 我在字符串中添加引号,如下所示: echo '<script type="text/javascript">'; echo 'function GetCodes() {'; echo 'var vlist = document.getElementById("vListOfCodes");'; echo 'var vcodes = "";';

我需要存储的文本字符串,将有一个单引号在开始和结束。 我正在从PHP发出JavaScript命令。 我在字符串中添加引号,如下所示:

echo '<script type="text/javascript">';
echo 'function GetCodes() {';
        echo 'var vlist = document.getElementById("vListOfCodes");';
        echo 'var vcodes = "";';
        echo 'var i;';
        echo 'for (i = 0; i < vlist.length; i++) {';
            echo 'if (i == 0) {';
                echo 'vcodes = vcodes + "\'" + vlist.options[i].value + "\'";';
            echo '}';
            echo 'else {';
                echo 'vcodes = vcodes + ",\'" + vlist.options[i].value + "\'";';
            echo '}';
        echo '}';
        echo 'document.getElementById("vStringOfCodes").value = vcodes;';
    echo '}';
echo '</script>';
发布表单并将$_POST['vStringOfCodes']数据保存到SQL SERVER表时,反斜杠字符将与单引号一起添加,这意味着在字段中不是一个值

'mystring'、'mystring2'、

我有

\“mystring\”、“mystring2\”、


如何防止这些反斜杠被添加到那里?

您可以使用php本机函数stripslashes


问题是,它是PHP中的javascript。。。如何将javascript变量传递给php变量并返回?您是希望在php和javascript之间交换变量,还是希望解析javascript?如果后者从JavaScript发送另一个字段中的数据,只需解析JavaScript即可。目前唯一的解决方案是这样存储并在SQL存储过程中使用DECLARE@var2 nvarchar100=SELECTREPLACE@var1,“\”,在执行“选择…中的位置…”时将其剥离。。。现在它解决了我的问题,但我不确定这是未来最好的解决方案。为什么不用php来回答呢?你所需要做的就是把$\u POST['HiddenInput']去掉,我没有用它,因为我没有直接思考。。。一旦我把鼻子从屏幕上移开,画面就更清晰了;谢谢,测试和工作。你能把你的答案调整到最后一个,这样我就可以接受了吗?
$str = "\'mytext\'";
echo stripslashes($str);
//outputs 'mytext'
//in your case
echo stripslashes($_POST['HiddenInput'])