MSSQL e PHP: "Un parametro non valido è stato passato a sqlsrv_query."

Sto cercando di eseguire una semplice istruzione di aggiornamento MSSQL tramite PHP, ma ricevo un errore che dice * "Un parametro non valido è stato passato a sqlsrv_query." *

Ecco la class di connessione che sto usando e la più rilevante è la function di query:

function query($query) { $result = sqlsrv_query($query) or die( print_r( sqlsrv_errors(), true)); } 

Infine, ecco il codice che sto usando per provare ad eseguire la dichiarazione:

 $db = new mssqlClass(); $conn = $db->connect(); $SQL = "UPDATE table SET Title = 'Test' where ID = 1" $SQL = $db->query($SQL); 

Se qualcuno ha qualche suggerimento sarei molto grato, suppongo che sia un problema con la class di connessione, ma non sono sicuro. Grazie!

(modifica) Nel tentativo di modificare tutto per lo scopo di pubblicare qui, in qualche modo ho perso il 'where' dalla mia dichiarazione, agh! Scusate. Inutile dire che la query va bene e, una volta copiata in SQL Server Studio Manager, viene eseguita senza problemi . Saluti

Non mi piace rispondere alle mie domande, ma poiché ho fatto un tale casino nel fare questa domanda inizialmente spero che questo sia utile per chiunque lo veda da Google.

A differenza di mssql_query, la function sqlsrv_query più recente richiede che il parametro di connessione venga passato come prima variabile, in questo modo:

 $result = sqlsrv_query($this->connection, $query) or die( print_r( sqlsrv_errors(), true)); 

Credo che manchi la parola chiave WHERE. Si supponga di dire:

 UPDATE table SET Title = 'Test' WHERE ID = 1 

?

provare

  UPDATE table SET Title = 'Test', ID = 1 

ti manca la virgola ","

Penso che tu stia provando questo

 UPDATE table SET Title = 'Test' WHERE ID = 1 

O

 UPDATE table SET Title = 'Test', ID = 1 

È una vecchia soluzione:

 $result = sqlsrv_query($this->connection, $query) or die( print_r( sqlsrv_errors(), true)); 

Ma mi ha salvato miglia, due anni dopo!