Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Nie dodawaj danych z formularza do bazy jeżeli te istnieją - jak ?
x X x
post
Post #1





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 21.01.2014

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


Chciał bym napisać obsługę wyjątku, który sprawdzi, czy dodawane dane do bazy danych istnieją. Jeżeli tak - wyświetli komunikat, że takie dane już istnieją i zapytanie nie zostanie wykonane.

Powiedzmy, że mam takie zapytanie:

  1. <?php
  2.  
  3. $insert = "INSERT INTO tabela VALUES ('".$_POST['imie']."', '".$_POST['nazwisko']."', '".$_POST['email']."')";
  4.  
  5. $insert_osoba = parent::getDB()->run($insert);
  6.  
  7. echo 'potwierdzenie dodania';
  8.  
  9. ?>


Co teraz zrobić? Znalazłem taką funkcję jak mysql_insert_id(), ale nie wiem czy tutaj ją mogę wykorzystać. Wtedy zapytanie powinno zawierać jeszcze słowo IGNORE.

Tabela tabela pole ID ma unikatowe i uzupełniane automatycznie. Wartość tego pola nie jest przekazywana w formularzu, tylko powyższe dane.

Dodam, że mój formularz jest umieszczony w pętli foreach, więc w zapytaniu wykorzystuje jeszcze zmienną $i, ale to nie jest teraz istotne.

Ten post edytował x X x 27.03.2014, 16:53:20
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
x X x
post
Post #2





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 21.01.2014

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


Udało mi się zrobić! Zrobiłe zwykłego selecta, tak jak pisałeś trueblue i po prostu sprawdzam czy wynik jest !empty. Jeżeli tak dostaje komunikat, jeżeli nie dane dodają się do bazy (IMG:style_emoticons/default/smile.gif) Dzięki za to!

Mam jeszcze jedno szybkie pytanie - muszę zrobić walidację wpisywanych danych w inpucie typu tekstowego, mają to być tylko zadeklarowane wartości ocen takiego typu: 2, 3, 3.5, 4, 4.5, 5, ZAL - próbowałem zrobić to patternem ale tam niestety nie da się tego zrobić. Może jakieś rady na zakończenie ? Podobno odpowiada za to funkcja w PHP in_array?

Ten post edytował x X x 28.03.2014, 16:35:52
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 27.12.2025 - 20:36