Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MYSQL]wydajnosc, jak zwiekrzyc wydajnosc tego kodu i cos tu nie gra?....
cerberpat
post
Post #1





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 20.05.2009

Ostrzeżenie: (0%)
-----


bledy moga byc proste wiec odrazu ostrzegam biggrin.gif

  1. <?
  2. header('Content-type: text/html; charset=utf-8');
  3.  
  4.        $mysqli = new mysqli('xxxxxx', 'xxxxx', 'xxxxxx','xxxxxx');
  5.        if(mysqli_connect_errno())
  6.        {
  7.           throw new Exception(mysqli_connect_error());
  8.           exit();
  9.        }
  10.        
  11.    $mysqli -> query("SET NAMES 'utf8'");
  12.    
  13. ?>
  14. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  15.  
  16. <html>
  17. <head>
  18.    <meta http-equiv="Content-Type" content="text/html; charset=utf8" />
  19.    <title>twozenie tabeli</title>
  20. </head>
  21.  
  22. <body bgcolor="#a2eaff">
  23.  
  24. <?
  25.    
  26.    //$tab = 'DROP TABLE elo';
  27.    //$idtab = $mysqli -> query($tab);
  28.    $tab = 'CREATE TABLE IF NOT EXISTS elo (id INTEGER AUTO_INCREMENT PRIMARY KEY NOT NULL,
  29.    nazwisko char(24), nazwisko_rodowe char(24), imie char(14), pesel char(11), plec char(1), dd char(2), mm char(2), rrrr char(4),
  30.    ulica char(35), dom char(4), mieszkanie char(4), kod_pocztowy1 char(2), kod_pocztowy2 char(3), miejscowosc char(35),
  31.    nazwa_gminy char(35), telefon char(10), ulica_korespondencja char(35), dom_korespondencja char(4), mieszkanie_korespondencja char(4),
  32.    kod_pocztowy1_korespondencja char(2), kod_pocztowy2_korespondencja char(3), miejscowosc_korespondencja char(20),
  33.    telefon_korespondencja1 char(7), nazwa_gminy_korespondencja char(35), telefon_korespondencja2 char(9),
  34.    nazwisko2 char(24), imie2 char(14), pesel2 char(11), dd2 char(2), mm2 char(2), rrrr2 char(4),
  35.    imie_l char(30), w_tym_roku1 char(1), gdzie1 char(1),
  36.    dd1_str2 char(2), mm1_str2 char(2), rrrr1_str2 char(4), imie_p1 char(30), w_tym_roku2 char(1),
  37.    gdzie2 char(1), dd2_str2 char(2), mm2_str2 char(2), rrrr2_str2 char(4), imie_p2 char(30),
  38.    w_tym_roku3 char(1), dd3_str2 char(2), mm3_str2 char(2), rrrr3_str2 char(4), kom char(50), login char(8), czas char(16), oddzial_nfz char(2), wojewodztwo   char(30), kod char(32)) DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci';
  39.    $idtab = $mysqli -> query($tab);
  40.    if (!$idtab)
  41.    {
  42.        echo "twozenie tablicy:".mysqli_errno($mysqli) . ": " . mysqli_error($mysqli) . "<BR>";
  43.    }
  44.    
  45.    
  46.    $uchwyt = @fopen ("bu.txt", "r");
  47.    if ($uchwyt) {
  48.  
  49.  
  50.        $stmt = $mysqli->prepare("INSERT INTO `elo` (`nazwisko`, `nazwisko_rodowe`, `imie`
  51.            , `pesel` , `plec` , `dd` , `mm` , `rrrr` , `ulica` , `dom` , `mieszkanie` , `kod_pocztowy1` , `kod_pocztowy2`
  52.            , `miejscowosc`,nazwa_gminy , `telefon` , `ulica_korespondencja` , `dom_korespondencja` , `mieszkanie_korespondencja`
  53.            , `kod_pocztowy1_korespondencja` , `kod_pocztowy2_korespondencja` , `miejscowosc_korespondencja`
  54.            , `telefon_korespondencja1`, nazwa_gminy_korespondencja,telefon_korespondencja2, nazwisko2, imie2, pesel2, dd2, mm2, rrrr2
  55.            , `imie_l`, w_tym_roku1, gdzie1, `dd1_str2` , `mm1_str2` , `rrrr1_str2` , `imie_p1`, w_tym_roku2, gdzie2, `dd2_str2` , `mm2_str2` , `rrrr2_str2`
  56.            , `imie_p2`, w_tym_roku3, `dd3_str2`, `mm3_str2`  , `rrrr3_str2`, `oddzial_nfz`, wojewodztwo)
  57.            VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
  58.            
  59.        $sel = $mysqli->prepare("SELECT DISTINCT pesel, dd1_str2, mm1_str2, rrrr1_str2, dd2_str2, mm2_str2, rrrr2_str2, dd3_str2, mm3_str2, rrrr3_str2 FROM elo WHERE pesel=? ORDER BY id DESC");
  60.  
  61.        set_time_limit(360);
  62.        
  63.        while (!feof($uchwyt))
  64.        {
  65.            $buffer = fgets($uchwyt, 300);
  66.            $sadgf = explode(';',$buffer);
  67.  
  68.  
  69. $stmt-> bind_param('ssssssssssssssssssssssssssssssssssssssssssssssssss', $nazwisko, $nazwisko_rodowe, $imie, $pesel, $plec, $dd, $mm, $rrrr, $ulica, $dom, $mieszkanie,
  70. $kod_pocztowy1, $kod_pocztowy2, $miejscowosc, $nazwa_gminy, $telefon, $ulica_korespondencja, $dom_korespondencja, $mieszkanie_korespondencja, $kod_pocztowy1_korespondencja,
  71. $kod_pocztowy2_korespondencja, $miejscowosc_korespondencja, $telefon_korespondencja1, $nazwa_gminy_korespondencja, $telefon_korespondencja2, $nazwisko2, $imie2, $pesel2, $dd2, $mm2, $rrrr2, $imie_l, $w_tym_roku1, $gdzie1, $dd1_str2,
  72. $mm1_str2, $rrrr1_str2, $imie_p1, $w_tym_roku2, $gdzie2, $dd2_str2, $mm2_str2, $rrrr2_str2, $imie_p2, $w_tym_roku3, $dd3_str2, $mm3_str2, $rrrr3_str2, $oddzial_nfz, $wojewodztwo);
  73.  
  74. $sel-> bind_param('s', $sadgf[4]);
  75.  
  76. $nazwisko=$sadgf[1];
  77. $nazwisko_rodowe=$sadgf[2];
  78. $imie=$sadgf[3];
  79. $pesel=$sadgf[4];
  80. $plec=$sadgf[5];
  81. $dd=$sadgf[6];
  82. $mm=$sadgf[7];
  83. $rrrr=$sadgf[8];
  84. $ulica=$sadgf[9];
  85. $dom=$sadgf[10];
  86. $mieszkanie=$sadgf[11];
  87. $kod_pocztowy1=$sadgf[12];
  88. $kod_pocztowy2=$sadgf[13];
  89. $miejscowosc=$sadgf[14];
  90. $nazwa_gminy=$sadgf[15];
  91. $telefon=$sadgf[16];
  92. $ulica_korespondencja=$sadgf[17];
  93. $dom_korespondencja=$sadgf[18];
  94. $mieszkanie_korespondencja=$sadgf[19];
  95. $kod_pocztowy1_korespondencja=$sadgf[20];
  96. $kod_pocztowy2_korespondencja=$sadgf[21];
  97. $miejscowosc_korespondencja=$sadgf[22];
  98. $telefon_korespondencja1=$sadgf[23];
  99. $nazwa_gminy_korespondencja=$sadgf[24];
  100. $telefon_korespondencja2=$sadgf[25];
  101. $nazwisko2=$sadgf[26];
  102. $imie2=$sadgf[27];
  103. $pesel2=$sadgf[28];
  104. $dd2=$sadgf[29];
  105. $mm2=$sadgf[30];
  106. $rrrr2=$sadgf[31];
  107. $imie_l=$sadgf[32];
  108. $w_tym_roku1=$sadgf[33];
  109. $gdzie1=$sadgf[34];
  110. $dd1_str2=$sadgf[35];
  111. $mm1_str2=$sadgf[36];
  112. $rrrr1_str2=$sadgf[37];
  113. $imie_p1=$sadgf[38];
  114. $w_tym_roku2=$sadgf[39];
  115. $gdzie2=$sadgf[40];
  116. $dd2_str2=$sadgf[41];
  117. $mm2_str2=$sadgf[42];
  118. $rrrr2_str2=$sadgf[43];
  119. $imie_p2=$sadgf[44];
  120. $w_tym_roku3=$sadgf[45];
  121. $dd3_str2=$sadgf[46];
  122. $mm3_str2=$sadgf[47];
  123. $rrrr3_str2=$sadgf[48];
  124. $oddzial_nfz=$sadgf[52];
  125. $wojewodztwo=$sadgf[53];
  126.  
  127. $sel->execute();
  128.        $sel->bind_result($pesels, $dd1_str2s, $mm1_str2s, $rrrr1_str2s, $dd2_str2s, $mm2_str2s, $rrrr2_str2s, $dd3_str2s, $mm3_str2s, $rrrr3_str2s);
  129. $cos = $sel->fetch();
  130.  
  131. if($rrrr1_str2s.$mm1_str2s.$dd1_str2s<=$rrrr1_str2.$mm1_str2.$dd1_str2||$rrrr2_str2s.$mm2_str2s.$dd2_str2s<=$rrrr2_str2.$mm2_str2.$dd2_str2||$rrrr3_str2s.$mm3_str2s.$dd3_str2s<=$rrrr3_str2.$mm3_str2.$dd3_str2)
  132. {
  133. $stmt->execute();    
  134. }    
  135.  
  136.        }
  137.        fclose ($uchwyt);
  138.    }
  139.    
  140. mysqli_close($mysqli);
  141. ?>
  142. <BR>
  143. <BR>
  144. <BR>
  145. <center><a href="glowna.php">elo</a></center>
  146. </body>
  147. </html>


Ten post edytował cerberpat 9.07.2009, 13:00:46
Go to the top of the page
+Quote Post
deirathe
post
Post #2





Grupa: Zarejestrowani
Postów: 426
Pomógł: 32
Dołączył: 24.05.2007

Ostrzeżenie: (0%)
-----


Nie no bez przegięć, nie dość że makaron to jeszcze takie ortografy :/ I zmień wyświetlanie kodu na PHP a nie SQL!

Ten post edytował deirathe 9.07.2009, 12:46:39


--------------------
Kawałek mojego blogu
Everything should be as simple as possible but not simpler.
A Einstein
Go to the top of the page
+Quote Post
erix
post
Post #3





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




  1. <?php
  2. $stmt-> bind_param('ssssssssssssssssssssssssssssssssssssssssssssssssss'
  3. ?>

brzydal.gif

O tablicach nie słyszałeś? Nie wiem, co chcesz od wydajności...


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
cerberpat
post
Post #4





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 20.05.2009

Ostrzeżenie: (0%)
-----


$mysqli->prepare nie lapie ten ktory jest wyzej .... jesli select jest wyzej to insert dziala jesli insert jest wyzej to dziala select.... hmmm jak to minac?

Ten post edytował cerberpat 10.07.2009, 08:33:50
Go to the top of the page
+Quote Post
erix
post
Post #5





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Nie łapie, czyli? Możesz bez skrótów myślowych?

Ja bym przepisał cały skrypt od zera, po ludzku, a nie w takim bałaganie pracować.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
cerberpat
post
Post #6





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 20.05.2009

Ostrzeżenie: (0%)
-----


mam tutaj 2 przygotowane zapytania select i insert... teraz tak w zaleznosci w jakiej kolejnosci sa tak dzialaja np jesli 1 jest insert a 2 select to dziala select a insert nic i na odwrot... o co chodzi? i co zrobic zeby oba dzialaly?
Go to the top of the page
+Quote Post
erix
post
Post #7





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Włączyłeś raportowanie błędów? Jakieś wiadomości z bazy?


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 04:11