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: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%)
|
WTF?? Co może się nie udać w podstawieniu do zmiennej, że robisz die() (IMG:style_emoticons/default/questionmark.gif) |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 1 933 Pomógł: 460 Dołączył: 2.04.2010 Skąd: Lublin Ostrzeżenie: (0%)
|
WTF?? Co może się nie udać w podstawieniu do zmiennej, że robisz die() (IMG:style_emoticons/default/questionmark.gif) Możesz próbować przykładowo obiekt lub tablicę, wstawić jako string. (IMG:style_emoticons/default/smile.gif) |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 139 Pomógł: 24 Dołączył: 12.05.2013 Skąd: Hamburg Ostrzeżenie: (0%)
|
Ustaw pole email jako unique i możesz po prostu strobić zwykły update bez sprawdzania czy obecny email się zmienił i czy nowy już istnieje. Jeśli email jest taki jak był wcześniej, to MySQL niczego nie będzie aktualizował. Jeśli jest inny, ale nie jest unique, to od razu dostaniesz bład z bazy.
Możesz próbować przykładowo obiekt lub tablicę, wstawić jako string. :) Możesz, ale niczego w tym przypadku nie da i nie zmieni.
Kod <br /> <b>Notice</b>: Array to string conversion in <b>[...][...]</b> on line <b>2</b><br /> <br /> <b>Catchable fatal error</b>: Object of class stdClass could not be converted to string in <b>[...][...]</b> on line <b>5</b><br /> Nawet gdyby die działało, to wyświetlanie tam ostatniego błędu z SQL ma rzeczywiście sens... Logika nie do obalenia :D |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 1 933 Pomógł: 460 Dołączył: 2.04.2010 Skąd: Lublin Ostrzeżenie: (0%)
|
Ustaw pole email jako unique i możesz po prostu strobić zwykły update bez sprawdzania czy obecny email się zmienił i czy nowy już istnieje. Jeśli email jest taki jak był wcześniej, to MySQL niczego nie będzie aktualizował. Jeśli jest inny, ale nie jest unique, to od razu dostaniesz bład z bazy. Możesz, ale niczego w tym przypadku nie da i nie zmieni.
Kod <br /> <b>Notice</b>: Array to string conversion in <b>[...][...]</b> on line <b>2</b><br /> <br /> <b>Catchable fatal error</b>: Object of class stdClass could not be converted to string in <b>[...][...]</b> on line <b>5</b><br /> Nawet gdyby die działało, to wyświetlanie tam ostatniego błędu z SQL ma rzeczywiście sens... Logika nie do obalenia (IMG:style_emoticons/default/biggrin.gif) Nie twierdzę, że to ma sens, ale że może czasem się coś nie udać przy wstawianiu zmiennych do stringa. (IMG:style_emoticons/default/smile.gif) Ten post edytował b4rt3kk 23.05.2015, 09:32:01 |
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 139 Pomógł: 24 Dołączył: 12.05.2013 Skąd: Hamburg Ostrzeżenie: (0%)
|
Nie twierdzę, że to ma sens, ale że może czasem się coś nie udać przy wstawianiu zmiennych do stringa. :) Tak, ale "or die" nigdy tego nie wykryje. Widzę, że chyba nie do końca rozumiesz, jak działa "or die". Ale skoro jesteśmy w dziale "Przedszkole" do podejdziemy do tego łopatologicznie. "or" to operator boolowski. Aby to, co jest prawym argumentem zostało wykonane, to po lewej musi być coś, co da nam "false". Na przykład może to być funkcja. Jeśli zwraca "false", "null", "0" lub pusty string, to PHP wykona to, co jest prawym argumentem "or". Notice czy fatal exception nie zwracają niczego. A więc i "die" nigdy nie ozstanie wykonane. Jedyna sytuacja, gdzie lewy argument może ewaluować do false jest coś takiego: Ale w przykładach autora string nigdy nie będzie pusty i die nigdy nie będzie wykonane. Bez względu na to, co się stanie. Zabezpieczenie przed wkładaniem nie stringów do stringa trzeba zrobić ręcznie a nie czekać aż kod się jakoś sypnie. |
|
|
|
casperii [MySQL]Czy da się 2 zapytania do bazy zrobić w 1 zapytanie? 22.05.2015, 20:27:30
Kshyhoo Zasada chyba taka:
[PHP] pobierz, plaintext $wynik... 22.05.2015, 20:39:20 
casperii Cytat(Kshyhoo @ 22.05.2015, 21:39:20 ... 22.05.2015, 20:45:08 
b4rt3kk Cytat(Xelah @ 23.05.2015, 10:50:30 ) ... 23.05.2015, 10:16:27 
Xelah Cytat(b4rt3kk @ 23.05.2015, 11:16:27 ... 23.05.2015, 11:35:32 
b4rt3kk Cytat(Xelah @ 23.05.2015, 12:35:32 ) ... 23.05.2015, 11:38:11 
Xelah Cytat(b4rt3kk @ 23.05.2015, 12:38:11 ... 23.05.2015, 13:03:53 
b4rt3kk Cytat(Xelah @ 23.05.2015, 14:03:53 ) ... 23.05.2015, 15:32:28 
Xelah Cytat(b4rt3kk @ 23.05.2015, 16:32:28 ... 23.05.2015, 20:35:31
casperii Ok, żeby nie pisać kolejnego tematu, to korzystają... 23.05.2015, 10:32:44
b4rt3kk Błąd połączenia z bazą danych, w wielu aplikacjach... 23.05.2015, 10:57:14
robertpiaty Odnośnie pierwszego wpisu to żeby było jedno zapyt... 23.05.2015, 11:03:22
casperii A to ja mam zrobione , że w razie błędu 404, 500 ,... 23.05.2015, 11:49:02
robertpiaty Silnym i jak dla mnie wystarczającym argumentem za... 23.05.2015, 11:57:46 
casperii Cytat(robertpiaty @ 23.05.2015, 12:57... 23.05.2015, 11:59:40
robertpiaty Zależy jaką stronę tworzysz. Nie ma sensu z armaty... 23.05.2015, 12:04:03
salfunglandyare wracajac do tematu:
[SQL] pobierz, plaintext SELEC... 24.05.2015, 02:13:04
aachi Salfunglandyare chyba odpowiedział już na twoje py... 26.05.2015, 00:19:46 ![]() ![]() |
|
Aktualny czas: 28.12.2025 - 10:10 |