Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zarządzanie połączeniami z MySQL ...
Forum PHP.pl > Forum > Przedszkole
PrzeoR
Witam,

Chciałem sie zapytać bardziej zaawansowanych , jaka metoda jest maksymalnie wydajna do zarządzania połączeniami z bazą danych ....

Do przykładu podam swoj kod, i chciałbym wiedziec jakie macie uwagi do niego (co do połączen z msql)

  1. <?
  2.  
  3. $con = mysql_connect ("localhost", "nazwa_cc", "haslo") or
  4. die ("nie mozna poloczyc sie z msql");
  5. mysql_select_db ("nazwa_myprogram") or
  6. die ("nie mozna poloczyc sie z baza myprogram");
  7.  
  8. $res = mysql_query("SELECT * FROM `usersarts`", $con) or die(mysql_error($con));
  9. $res_2 = mysql_query("SELECT * FROM `usersarts` WHERE status='1'", $con) or die(mysql_error($con));
  10.  
  11.  
  12.  
  13.  
  14.  
  15. if ($_GET[q_changed] == "1") {
  16.  
  17. print ("
  18. <a href='http://jakis_link.com/admin.php'>ADMIN CENTER</a>
  19. <BR><BR>
  20. <B>CO DALEJ ?</B><BR>
  21. Poniższy kod dodaj do ECHO ARTICLES:<BR>
  22. <a href='http://www.lakislinkcom/articles/admin/index.php'>ECHO ARTICLES ADMIN</a>
  23.  
  24. <BR><BR>");
  25. $res_changed = mysql_query("SELECT * FROM `usersarts` WHERE user='".$_GET[q_user]."'", $con) or die(mysql_error($con));
  26.  
  27. while ($rekord = mysql_fetch_array($res_changed)) {
  28. $nr = $rekord[0];
  29. $user = $rekord[1];
  30. $content = $rekord[2];
  31. $desc = $rekord[3];
  32. $status = $rekord[4];
  33. $uid = $rekord[5];
  34.  
  35. print ("
  36. <form method=get action=addarts_admin.php>
  37. <TABLE>
  38. <TR>
  39.  <TD>Akceptuj <input type=radio name=editstatus value=2></TD>
  40.  <TD bgcolor='#000000'>&nbsp;</TD>
  41.  <TD>Odrzuc <input type=radio name=editstatus value=3></TD>
  42.  <TD><input type=submit name=submitedit value=ZMIEŃ>
  43.  <input type=hidden name=editusername value=$user>
  44.  <input type=hidden name=uid value=$uid></TD>
  45. </TR>
  46. </TABLE>
  47. </form>");
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54. print ("
  55. $uid
  56. <BR>
  57. <TABLE border='0' width='500'>
  58. <TR align=center>
  59.  <TD valign='top'><B>Numer</B></TD>
  60.  <TD valign='top'><B>Nick</B></TD>
  61.  <TD valign='top'><B>Treść</B></TD>
  62.  <TD valign='top'><B>Status artykułu</B></TD>
  63. </TR>
  64. <TR align=center bgcolor=#000000>
  65.  <TD valign='top'>&nbsp;</TD>
  66.  <TD valign='top'>&nbsp;</TD>
  67.  <TD valign='top'><font color=#ffffff>$desc</font></TD>
  68.  <TD valign='top'>&nbsp;</TD>
  69. </TR>
  70. <TR>
  71.  <TD valign='top'>$nr</TD>
  72.  <TD valign='top'>$user</TD>
  73.  <TD valign='top'><textarea rows=10 cols='30'>$content</textarea></TD>
  74.  <TD valign='top'>$status<BR>
  75. </TD>
  76. </TR>
  77. </TABLE>
  78. <hr>
  79.  
  80.  ");
  81.  
  82.  
  83. }
  84.  
  85. } else {
  86.  
  87.  
  88. global $editstatus;
  89.  
  90. if ($editstatus == 2)
  91.  
  92. {
  93.  
  94. print ("zmienione >> $editusername >> 2");
  95. $updateresults = "UPDATE `usersarts` SET `status` = '2' WHERE user='".$editusername."' ;";
  96. mysql_query ($updateresults);
  97.  
  98. mysql_select_db ("x00cent_x00centcashcrusaderrar") or
  99. die ("nie mozna poloczyc sie z baza myprogram");
  100. $res_uid = mysql_query("SELECT  transid FROM `accounting` WHERE  transid='".$uid."'", $con) or die(mysql_error($con));
  101. $row_uid = mysql_fetch_assoc($res_uid);
  102.  
  103. $row_uid[uid] = $uid_from_db;
  104.  
  105. if (!($uid_from_db == $uid)) {
  106. $addpoints = "INSERT INTO `accounting` ( `transid` , `unixtime` , `username` , `description` , `amount` , `type` , 
    `time` ) VALUES ( '$uid', '0', '$editusername', 'Article ($uid)', '10000000', 'points', NOW( ));"
    ;
  107. mysql_query ($addpoints);
  108.  
  109.  
  110. } else {
  111. print ("<h3>Dodałeś już punkty dla tego artykuły</h3>");
  112.  
  113. }
  114.  
  115.  
  116. $dodawanie = 1;
  117.  
  118. } if ($editstatus == 3) { print ("zmienione >> $username >> 3");
  119. $updateresults = "UPDATE `usersarts` SET `status` = '3' WHERE user='".$editusername."' ;";
  120. mysql_query ($updateresults);
  121. $dodawanie = 1;
  122. }
  123.  
  124.  
  125. if (!empty($_GET[editstatus])) {
  126.  
  127. print ('<head><meta http-equiv="Refresh" content="3; URL=http://jakis_link.com/admin.php?q_changed=1&q_user='.$editusername.'&q_status='.$editstatus.'" /></head>');
  128. }
  129.  
  130. if (!($dodawanie)) {
  131.  
  132.  
  133.  
  134. while ($rekord = mysql_fetch_array($res_2)) {
  135. $nr = $rekord[0];
  136. $user = $rekord[1];
  137. $content = $rekord[2];
  138. $desc = $rekord[3];
  139. $status = $rekord[4];
  140. $uid = $rekord[5];
  141.  
  142. print ("
  143. <form method=get action=addarts_admin.php>
  144. <TABLE>
  145. <TR>
  146.  <TD>Akceptuj <input type=radio name=editstatus value=2></TD>
  147.  <TD bgcolor='#000000'>&nbsp;</TD>
  148.  <TD>Odrzuc <input type=radio name=editstatus value=3></TD>
  149.  <TD><input type=submit name=submitedit value=ZMIEŃ>
  150.  <input type=hidden name=editusername value=$user>
  151.  <input type=hidden name=uid value=$uid></TD>
  152. </TR>
  153. </TABLE>
  154. </form>");
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161. print ("
  162. $uid
  163. <BR>
  164. <TABLE border='0' width='500'>
  165. <TR align=center>
  166.  <TD valign='top'><B>Numer</B></TD>
  167.  <TD valign='top'><B>Nick</B></TD>
  168.  <TD valign='top'><B>Treść</B></TD>
  169.  <TD valign='top'><B>Status artykułu</B></TD>
  170. </TR>
  171. <TR align=center bgcolor=#000660>
  172.  <TD valign='top'>&nbsp;</TD>
  173.  <TD valign='top'>&nbsp;</TD>
  174.  <TD valign='top'><font color=#ffffff>$desc</font></TD>
  175.  <TD valign='top'>&nbsp;</TD>
  176. </TR>
  177. <TR>
  178.  <TD valign='top'>$nr</TD>
  179.  <TD valign='top'>$user</TD>
  180.  <TD valign='top'><textarea rows=10 cols='30'>$content</textarea></TD>
  181.  <TD valign='top'>$status<BR>
  182. </TD>
  183. </TR>
  184. </TABLE>
  185. <hr>
  186.  
  187.  ");
  188.  
  189.  
  190. }
  191. }
  192.  
  193. }
  194.  
  195. ?>


Dodam że nie zamykam połączeń jednej bazy jak przechodze do całkiem innej ... Jak najlepiej jest zarządać bazą msql? Na co zwracać uwagę aby ją minimalnie przeciążać ...
dtb
nie pisz msql tylko mysql - to sa dwie rozne bazy danych
PrzeoR
pomyłka smile.gif no to więc jakieś sugestie?
Hacker
Tak... Nie tablica[kluczstringowy] tylko tablica['kluczstringowy'] lub tablica["kluczstringowy"] jak ktoś lubi. Ustaw sobie error_reporting na E_ALL i zobaczysz o co chodzi
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.