0

I currently have this query that insert data into SQL server. But as the question can contain special characters that include ' which is single quote, it skips my query and did not insert into database. Any idea what would work for me to be able to insert single quote data into SQL server database? Example: Trainer's Performance.

Here's my code for inserting data into database:

$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();
user2376259
  • 9
  • 1
  • 4
  • http://stackoverflow.com/questions/775687/how-to-insert-text-with-single-quotation-sql-server-2005 – Kylie Jun 07 '13 at 06:54
  • I tried using addslashes but the error still occurs, any idea why? ): here's a sample of it.. $sql_array[] = "('" . addslashes($question) . "'," . $id . ",'" . $qnsNo . "','" . $input . "','" . $options . "','" . $others . "','" . $compulsory . "')"; and the error code: Incorrect syntax near 's'. Unclosed quotation mark before the character string ',',',')'. – user2376259 Jun 10 '13 at 03:58

0 Answers0