バックスラッシュを使用して引用符をエスケープし、代わりにバックスラッシュを使用してエスケープして、文字列などにバックスラッシュを含めることができるという考え方は一般的に理解していますがodbc_exec()
、テーブル値を使用してクエリを渡しようとすると問題が発生します機能し、私はそれが私に与えるのをやめさせることができないようです
SQL error: [Microsoft][ODBC SQL Server Driver][SQL Server]Unclosed quotation mark after the character string '0000005'.
変数をハードコーディングすると、次のようになります。
$query = 'SELECT '.$csvCriteria.", googStep, Segment, PrevailingDirection FROM jSelectorCSVCreator('1','1','northbound','0006009','00000050370A2P000004','00060041270B2P000070','1')";
これはうまくいきます。$csvCriteria で問題が発生していないことに注意してください。これは私がそれを次のように見せたいものです:
$query = 'SELECT '.$csvCriteria.", googStep, Segment, PrevailingDirection FROM jSelectorCSVCreator('".$stepNum."', '".$segMarker."', '".$prevDirection."', '".$rdNoA."', '".$re_1."', '".$re_2."', '".$directionA."')";
ただし、 $re_1 と $re_2 の周りでエラーが発生し続けます (このエラーは、この上部に挿入しました)。
次のように、機能すると思われるものの複数のバリエーションを試しました。
$query = 'SELECT '.$csvCriteria.", googStep, Segment, PrevailingDirection FROM jSelectorCSVCreator('".$stepNum."','".$segMarker."','".$prevDirection."','".$rdNoA.'\',\''.$re_1.'\',\'00060091100B1P000030\',\'1\')';
しかし、私はこれに熟練していませんし、あからさまに明らかな何かを見逃しているかどうかもわかりません. 絶対に立ち往生していて、手を必要としています!