![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 681 Pomógł: 28 Dołączył: 14.08.2014 Ostrzeżenie: (0%) ![]() ![]() |
Czy da się to zrobić jednym zapytaniem ?
Czyli chodzi o to by nie updatowało mi maila który jest już w bazie. Tylko sprawdzam ,czy taki email jest w bazie , jeżeli nie ma jest możliwość wpisania innego i zaktulizowanie go. Reasumując: w pierwszy zapytaniu, sprawdzam jaki adres email użytkownik miał. Jeżeli podał w poscie inny adres niż miał w bazie następuje drugie zapytanie i szukanie czy taki adres jaki podał poprzez post istnieje w bazie. Jeżeli nie istnieje przechodzimy dalej, jeżeli istnieje wywali error. Ten post edytował casperii 22.05.2015, 20:37:14 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 113 Pomógł: 18 Dołączył: 7.10.2007 Skąd: Pruszków Ostrzeżenie: (0%) ![]() ![]() |
Odnośnie pierwszego wpisu to żeby było jedno zapytanie to można spróbować zrobić subquery, coś w tym stylu
Nie testowałem tego czy to pytanie zadziała ale mi chodziło o sam pomysł. Nie wiem też jak z wydajnością takiego zapytania. Poniższa forma jest optymalna.
Jeśli się da to lepiej stosować "=" niż "like". Dodatkowo pamiętaj o indeksie na kolumnie `cos`. Dodatkowo jak masz dużo kolumn w tabeli a potrzebujesz dane np z dwóch to lepiej zamiast gwiazdki wymienić kolumny z których chesz pobrać dane. Aby zabezpieczyć przed sql injection używaj mysqli bind_param i prepare http://php.net/manual/en/mysqli.quickstart...-statements.php Ten post edytował robertpiaty 23.05.2015, 11:04:52 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 17.10.2025 - 14:23 |