FAQ |
Calendar |
![]() |
|
Programming Share, tanya jawab, saling bantu antar programmer dengan berbagai macam bahasa pemrograman. |
![]() |
|
Thread Tools |
#1
|
|||
|
|||
![]()
Halo agan2 smua..terutama para mastah php..ane ada pertanyaan nih.. Ceritanya gini, ane baru belajar soal transaksi di php+mySQL. ane pengen bikin program multi user untuk entry suatu transaksi dengan nomor nota, dimana no nota itu unique(increment) untuk masing2 user dan tidak boleh ada yang sama. Karena ada kemungkinan beberapa user yg menjalankan program, ane mencoba aplikasikan fungsi lockingnya mySQL, kira2 script ane spt ini : PHP Code: //koneksi db mysql_query("BEGIN");// buka transaksi /*-------------get max nota ----------------------*/ $qNota=mysql_query("select max(nota) maxNota from tblA where tr='M' for update"); $dNota=mysql_fetch_array($qNota); $maxNota=substr($dNota[maxNota],2,strlen($dNota[maxNota])); $maxNota=$maxNota+10001; $maxNota='A'.substr($maxNota,1,5); /*------------------------------------------------*/ mysql_query("insert into tblA(maxNota,nama,nilai) values ('$maxNota','$nama','$nilai')"); // insert data baru ke tblA mysql_query("COMMIT");//commit transaksi Nah yg jadi masalah, jika ada beberapa user entry bareng, kadang2 terjadi error query di select max(nota) maxNota from tblA where tr='M' for update, dan akibatnya untuk semua user tsb nonota nya kosong..menurut agan2 sekalian apa sebabnya ya? mohon pencerahan tentang konsep locking di mySQL yg bener ya gan... sorry kalo acak2an..first thread nih... sorry jg blm bisa ngasih apa2 coz id ane masih abu2...thanks banget agan2 dan mastah sekalian... Terkait:
|
![]() |
|
|