2016-04-29 11 views
-2

mssqlモジュールを使用しているときにPHPから次のエラーが表示されます。PHP mssqlエラー

PHP Warning: mssql_query(): message: Incorrect syntax near 'i'. (severity 15) in /var/www/html/inc/get_port.php on line 19 
PHP Warning: mssql_query(): General SQL Server error: Check messages from the SQL Server (severity 15) in /var/www/html/inc/get_port.php on line 19 
PHP Warning: mssql_query(): Query failed in /var/www/html/inc/get_port.php on line 19 

問題の行はこれです:

$query = "SELECT i.NodeID as \"NodeID\" i.InterfaceName as \"Int Name\", i.Caption, i.InterfaceAlias as InterfaceAlias, i.IfName, nd.IP_Address as \"IP Address\", nd.Caption as \"Node Name\", nd.Location, nd.machinetype From [Interfaces] as \"i\", [NodesData] as \"nd\" where i.NodeID = nd.NodeID and (nd.MachineType LIKE \"CISCO CATALYST%\" OR nd.MACHINETYPE LIKE \"PROCURVE%\") and (nd.Location LIKE \"F208%\" and i.InterfaceAlias = \"E26\") "; 

それは私のラベルが好きではありません任意のヒント?これが正常に動作として

MSSQLサーバー上で、もともと
SELECT i.NodeID as "NodeID", i.InterfaceName as "Int Name", i.Caption, i.InterfaceAlias as InterfaceAlias, i.IfName, nd.IP_Address as "IP Address", nd.Caption as "Node Name", nd.Location, nd.machinetype From [Interfaces] as i, [NodesData] as nd where i.NodeID = nd.NodeID and (nd.MachineType LIKE 'CISCO CATALYST%' OR nd.MACHINETYPE LIKE 'PROCURVE%') and (nd.Location LIKE 'F208%' and i.InterfaceAlias = 'E26') 
+0

あなたの代わりに '\の' ' '使用してみてください – markt

+0

「のNodeID \」を\した後、行方不明にカンマを持っている『'、それはあなたの人生が容易になります –

+1

_』このコマンドは、これが正常に動作して元々実行したときmssqlサーバー上で "_今すぐ' $ query'を出力し、両者をあなたの目と比較してください... –

答えて

2

を実行したときにPHPで実行されたクエリがない一方で、このコマンドを使用すると、MSSQLサーバー上で直接実行しているクエリは、次の二iには、カンマました。

$query = "SELECT i.NodeID as \"NodeID\" <- there should be a comma here