したがって、私は1つのサーバーからXMLを解析し、別のサーバーに書き込みを行ってから、mssqlデータベースを更新する多くのことを行っています。楽しみのためにターミナルからスクリプトを実行するまで、プロセス全体がスムーズに実行されているように見えました。ターミナルから実行すると、次のような一連の警告がスローされます。
PHP Warning: mssql_query(): message: Incorrect syntax near 's'. (severity 15) in
/Volumes/Data/Users/username/Desktop/createXML.php on line 375
PHP Warning: mssql_query(): General SQL Server error: Check messages from the SQL
Server (severity 15) in /Volumes/Data/Users/username/Desktop/createXML.php on line 375
PHP Warning: mssql_query(): message: Unclosed quotation mark after the character
string ';'. (severity 15) in /Volumes/Data/Users/username/Desktop/createXML.php on line 375
PHP Warning: mssql_query(): General SQL Server error: Check messages from the SQL
Server (severity 15) in /Volumes/Data/Users/pdwivedi/Desktop/createXML.php on line 375
PHP Warning: mssql_query(): Query failed in /Volumes/Data/Users/username/Desktop
/createXML.php on line 375
375行目は次のとおりです。
$query = mssql_query("UPDATE table_name SET C_ITP_STATUS = '".$ITP_Status."',
C_ITP_ERRORS = '". $ITP_Error ."' WHERE id = '".$ID."';");
面白いのは、クエリが実行され、DBが更新されたことです。ただし、ターミナルから実行すると、これらの警告が表示されます。そして、私はそれらを取り除きたいです!MSSQLを使用する必要があります!!
解決策を探し回ってみましたが、人々はMS SQLをほとんど使用しておらず、mySQLの方がはるかに優れています(少なくとも広く使用されているという点では)。何か助けはありますか?
おもしろいこと:DBに接続して、新しいphpスクリプトでこのクエリを実行するだけの場合、正常に機能し、警告は表示されません。なぜこんな感じなのかわからない!
解決済み: 文字列への入力パラメーター(かなりラメ)をテストする必要はありませんでした。なぜなら、自分が何をしているかについて非常に自信があったからです。どんなに自信があっても(大声で叫ぶだけで)、常に特別な文字をエスケープしてください!!