Orada bu hata ile ilgili google çok değildi, bu yüzden ben burada soruyorum. Ben (php_mssql değil, ODBC kullanarak) SQL Server 2008 için MySQL kullanarak bir PHP web uygulaması geçiyorum. Sorguları veya başka bir şey çalıştıran bir sorun değil, ama ben SCOPE_IDENTITY (ya da herhangi benzer işlevleri) yapmaya çalıştığınızda, ben hata alıyorum "doğrudan SQL çalıştırılıyor; hiçbir imleç". Ben hemen bir ekleme yapıyorum, bu yüzden hala kapsamında olmalıdır. Insert ID, SQL Server Management Studio çalışıyor için aynı insert deyimi çalıştırdıktan sonra sorgulayabilirsiniz. İşte benim kod (veritabanı sarıcı sınıfta başka her şeyi diğer sorguları için çalışıyor, bu yüzden şu anda uygun değil kabul edeceğiz) şu anda var:
function insert_id(){
return $this->query_first("SELECT SCOPE_IDENTITY() as insert_id");
}
query_first bir sorgunun ilk alanından ilk sonuç döndüren bir fonksiyonu olduğu (üzerine execute_scalar temelde eşdeğer (). net).
The full error message: Warning: odbc_exec() [function.odbc-exec]: SQL error: [Microsoft][SQL Server Native Client 10.0][SQL Server]Executing SQL directly; no cursor., SQL state 01000 in SQLExecDirect in C:[...]\Database_MSSQL.php on line 110