2017-12-11 25 views
1

SQL Serverテーブル(maker_form_details)に値を挿入しようとしていますが、なぜこのエラーが発生するのかわかりません。ここSQL Serverエラー:[Microsoft] [SQL Server用ODBCドライバ13]

エラーが自分のコード

$sqlquery = "INSERT INTO maker_form_details(caseid,nom,address,date,no_de_tel,quest_no,lieu_interview,tom,mainbank,netscore,overallsatisfaction,q12_comment,q13_probablite,q14_comment,q15_recommendation,q16_sarisfaction,q17_temps,q19,q20Bancassurance,Mobhile_Banking,q21ameliorer) values ($id,'$Name','$address','$date',$tel,'$quest','$lieu','$tom','$mainbank',$netscore,$overallsatisfaction,'$question12','$question13','$question14',$question15,$question16,$question17,'$question19','$question20p1','$question20p2','$question21')"; 

$resultquery = sqlsrv_query($conn, $sqlquery); 

if(!$resultquery){ 
print_r(sqlsrv_errors()); 
} 

のサンプルである:

アレイ([0] =>配列([0] => 42000 [SQLSTATE] => 42000 [1] => 102 [コード] => 102 [2] => [Microsoft] [SQL Server用ODBCドライバ13] [SQL Server] '、'。[メッセージ] => [Microsoft] [SQL用ODBCドライバ13サーバー] [SQL Server] '、'の近くに構文が正しくありません。)

答えて

0

SQLインジェクションを避けるには、Parameterized Queries

$sqlquery = "INSERT INTO maker_form_details(caseid,nom,address,date, 
     no_de_tel,quest_no,lieu_interview,tom,mainbank,netscore, 
     overallsatisfaction,q12_comment,q13_probablite,q14_comment,q15_recommendation, 
     q16_sarisfaction,q17_temps,q19,q20Bancassurance,Mobhile_Banking, 
     q21ameliorer) 
     values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; 

$parameters = array($id,$Name,$address,$date, 
       $tel,$quest,$lieu,$tom,$mainbank,$netscore, 
       $overallsatisfaction,$question12,$question13,$question14,$question15, 
       $question16,$question17,$question19,$question20p1,$question20p2,$question21); 

$resultquery = sqlsrv_query($conn, $sqlquery, $parameters); 

https://docs.microsoft.com/en-us/sql/connect/php/how-to-perform-parameterized-queries

関連する問題