PHP SQL Server Ekle sorunu

5 Cevap php

Aşağıdaki deyim, MS SQL Server Management Studio iyi çalışır. Ben PHP ile yürütmeye çalıştığınızda Ancak ekleme oluşmaz ve hiçbir hata döndürülür. Ben bütün select ifadeleri düzgün dönmek, benim bağlantı geçerli olduğunu biliyorum. Ne eksik?

DECLARE @id bigint; SET @id = (SELECT MAX(application_track_id) + 1 FROM application_track_data); INSERT INTO application_track_data (application_track_id,user_id, action_key, action, ip_address, session_id, application) VALUES (@id,1,'584','login','192.168.37.60','05sn3618p61dvmml6pkefuteg2','akamata');

Burada sql çalıştırmak için kullanıyorum kodudur.

$result = mssql_query($sql);
if(!$result)
{
print "Error:" . mssql_get_last_message();
}
else
print "Success";

5 Cevap

Tamam, ben çalışma var. Ben burada mevcut Microsoft tarafından sağlanan SQL Server sürücüsü kullanarak açık http://www.microsoft.com/downloads/details.aspx?FamilyId=61BF87E0-D031-466B-B09A-6597C21A2E2A&displaylang=en.

Görünüşe mssql sürücü bigint gibi, belirli veri türleri ile çalışamaz.

Sen bir prosedür bu koymak isteyebilirsiniz. Eğer SQL deyiminde birden çok komut varsa beri en db sürücüleri tek bir deyimi (veya tek T-SQL deyimi) çağırabilirsiniz inanıyorum. Yani bir saklı yordam çevirmek veya vb dönüş değerine göre her deyimini yürütmek gerçekleşmesi için birden fazla şeyler gerekiyorsa

GÜNCELLEME: Bu deneyin: http://us3.php.net/manual/en/function.mssql-next-result.php

Ben birden çok sorguları izin yok sanırım ama sen doğru olanı almak gerekiyor. Ancak mysqli kitaplıkları ya da maxdb kütüphanelerde a * _query_multiple işlevi bazı db kütüphaneleri vardır.

Benim tahminim kapalı AutoCommit ile çalışan ve işlem yapılıyor olmadığını olurdu.

Bu tür bir faaliyet gerçekten saklı bir yordam olmalıdır. Yönetmek daha kolaydır ve php aramak daha kolay. Ayrıca her bu değişiklikleri işlemek gerekir.

Yalnız insert deyimi deneyin. Eğer bu çalışırsa, o zaman birden fazla ifadeleri olan bir hataya neden olduğunu biliyorum (ve bir saklı yordam ile sorguları değiştirmeniz gerekir). Bu doğru jsight sonra başarısız olursa, AutoCommit ile ilgili bir sorun var.

Şahsen ben birden fazla tablolar ile benim bahis ediyorum, ama bu (her iki bir sorun vardır mümkündür) size kök nedenini belirlemek için bir yol vermelidir.