Ceriwis  

Go Back   Ceriwis > HOBI > Komputer & Teknologi > Programming

Programming Share, tanya jawab, saling bantu antar programmer dengan berbagai macam bahasa pemrograman.

Reply
 
Thread Tools
  #1  
Old 20th November 2011
Darkc0der Darkc0der is offline
Ceriwiser
 
Join Date: Nov 2011
Posts: 598
Rep Power: 14
Darkc0der mempunyai hidup yang Normal
Default [ask]Transaction locking php

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...



Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


 


All times are GMT +7. The time now is 06:27 PM.


no new posts