Autor | Zpráva | ||
---|---|---|---|
tomas2245 Profil |
Zdravím, nedávno som riešil v tomto témate veci okolo tabuliek.. a zistilo sa že by časom mohli byť problémy so zapisovaním atď...: Select z několika tabulek pomocí UNIONu
konkrétne reagujem na príspevky: [#16] = CZechBoY: To asi nebude moc atomicky... Mozna s pouzitim lock table to bude ok. [#17] = pcmanik: Riešením sú transakcie + plus správne zamykanie tabuliek. neviem si dať rady už dlhšie si lámem hlavu tým, ako ich mám správne zamykať... vedel by mi niekto pomôcť ako do tohoto kódu zakomponovať zamykanie? Vopred ďakujem za každú radu :) $meno = $_POST['meno']; $priezvisko = $_POST['priezvisko']; $mesto = $_POST['mesto']; $ulica = $_POST['ulica']; $zapis = mysqli_query($pripoj,"INSERT INTO objednavky (meno, priezvisko, mesto, ulica) VALUES ('$meno', '$priezvisko', '$mesto', '$ulica'')"); |
||
Alphard Profil |
#2 · Zasláno: 11. 2. 2017, 19:36:18
V tom příkladu, který je ukázaný tady, vůbec nevidím důvod něco zamykat. Spíš vycházím z toho odkázaného vlákna, konkrétně struktura navržená v Select z několika tabulek pomocí UNIONu.
Stačí nastavit unikátní klíč a kontrolovat případnou chybu na hlášení o doplicitích (a dotaz zopakovat). Na druhou stranu, mnohem víc by mě stresovala ta zjevná sql injection zranitelnost, než dosti hypotetická kolize pořadí zákazníka. |
||
tomas2245 Profil |
Alphard:
Vďaka za odpoveď, a proti sql injection to mám zabezpečené, zabudol som napísať že som do [#1] príspevku pridal len tie najpodstatnejšie veci inak ešte otázka, hrozí len duplicitné poradie zákazníka, alebo by sa mohlo stať aj to, že by napr. priezvisko zákazníka sa priradilo niekomu inému? $meno = htmlspecialchars(mysqli_real_escape_string($pripoj,$meno)); $priezvisko = htmlspecialchars(mysqli_real_escape_string($pripoj,$priezvisko)); $mesto = htmlspecialchars(mysqli_real_escape_string($pripoj,$mesto)); $ulica = htmlspecialchars(mysqli_real_escape_string($pripoj,$ulica)); |
||
Alphard Profil |
#4 · Zasláno: 11. 2. 2017, 19:54:35
Vkládané hodnoty se mezi dotazy samozřejmě promíchat nemohou. Jde jen o to, kde se berou, jestli nejsou vypočítané za situace, která se změnila. Přijmení se tedy pomíchat nemůže.
|
||
tomas2245 Profil |
#5 · Zasláno: 11. 2. 2017, 19:59:30
Alphard:
super, ďakujem, toto som potreboval vedieť :) |
||
Časová prodleva: 6 let
|
0