Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]wydajnosc
Forum PHP.pl > Forum > Przedszkole
cerberpat
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>
deirathe
Nie no bez przegięć, nie dość że makaron to jeszcze takie ortografy :/ I zmień wyświetlanie kodu na PHP a nie SQL!
erix
  1. <?php
  2. $stmt-> bind_param('ssssssssssssssssssssssssssssssssssssssssssssssssss'
  3. ?>

brzydal.gif

O tablicach nie słyszałeś? Nie wiem, co chcesz od wydajności...
cerberpat
$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?
erix
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ć.
cerberpat
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?
erix
Włączyłeś raportowanie błędów? Jakieś wiadomości z bazy?
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.