Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在SQLServer2005中插入php特殊字符_Php_Database_Sql Server 2005 - Fatal编程技术网

在SQLServer2005中插入php特殊字符

在SQLServer2005中插入php特殊字符,php,database,sql-server-2005,Php,Database,Sql Server 2005,我目前有一个将数据插入SQL server的查询。但由于问题可能包含特殊字符,包括“这是单引号”,因此它跳过了我的查询,并没有插入到数据库中。 你知道我可以在SQL server数据库中插入单引号数据吗? 示例:培训师的表现 以下是我将数据插入数据库的代码: $sql_array = array(); foreach ($_POST['question'] as $row => $name) { $question = $name; $qnsNo

我目前有一个将数据插入SQL server的查询。但由于问题可能包含特殊字符,包括“这是单引号”,因此它跳过了我的查询,并没有插入到数据库中。 你知道我可以在SQL server数据库中插入单引号数据吗? 示例:培训师的表现

以下是我将数据插入数据库的代码:

$sql_array = array();
    foreach ($_POST['question'] as $row => $name) {

        $question = $name;
        $qnsNo = $_POST['qnsNo'][$row];
        $input = $_POST['input'][$row];
        $options = $_POST['options'][$row];
        $others = $_POST['others'][$row];
        $compulsory = isset($_POST['compulsory'][$row]) ? $_POST['compulsory'][$row] : "";

        $idQuery = "SELECT max(surveyID) FROM scSurveyForm WHERE createBy = '$createBy' AND writeUp = '$writeUp'";
        $idResult = sqlsrv_query($conn, $idQuery);
        $rows = sqlsrv_fetch_array($idResult);
        $lastID = $rows[0];

        $sql_array[] = "('" . $question . "'," . $lastID . ",'" . $qnsNo . "','" . $input . "','" . $options . "','" . $others . "','" . $compulsory . "')";

        if (!empty($question)) {

            $query_single = "INSERT INTO scFormLayout(question, surveyID, qnsNo, input, options, others, compulsory)
  VALUES" . implode(', ', $sql_array);
            //echo $query_single.'<br/>';
            $status = sqlsrv_query($conn, $query_single);
            $sql_array = array();
$sql_array=array();
foreach($_POST['question']作为$row=>$name){
$question=$name;
$qnsNo=$_POST['qnsNo'][$row];
$input=$_POST['input'][$row];
$options=$\发布['options'][$row];
$others=$_POST['others'][$row];
$PRESSIONAL=isset($_POST['PRESSIONAL'][$row])?$_POST['PRESSIONAL'][$row]:“”;
$idQuery=“从scSurveyForm中选择max(surveyID),其中createBy='$createBy'和writeUp='$writeUp';
$idResult=sqlsrv_query($conn,$idQuery);
$rows=sqlsrv_fetch_数组($idResult);
$lastID=$rows[0];
$sql_数组[]=“(“$QUOTE.”、“$lastID.”、“$qnsNo.”、“$input.”、“$options.”、“$options.”、“$others.”、“$PRESSIONAL.”);
如果(!空($问题)){
$query\u single=“插入scFormLayout(问题、调查ID、问题编号、输入、选项、其他、强制)
值“.”内爆(“,”,$sql_数组);
//echo$query_single.“
”; $status=sqlsrv\u query($conn,$query\u single); $sql_array=array();
我尝试使用addslashes,但仍然出现错误,知道原因吗?):下面是一个示例:$sql_数组[]=“(”.addslashes($question)。“”、“$id.”、“$qnsNo.”、“$input.”、“$options.”、“$others.”、“$PRESSIONAL.”、“$input.”、“$options.”、“$OTHES.”、“$PRESSIONAL.”;以及错误代码:“s”附近的语法不正确。字符串“,”,“,”)前未闭合的引号。