PDA

Zobacz pełną wersję : Zapytanie SQL



marczulajtis
10-09-2011, 12:55
Witam wszystkich!

Prowadzę stronę na joomla 1.5 i potrzebowałabym Waszej pomocy w zakresie jednego zapytania SQL, które potrzebuje utworzyć do bazy danych. Mianowicie zapytanie, które napisałam jest następujące:

INSERT INTO Dane_pacjentow (Diagnoza) VALUES ('$Diagnoza') WHERE (Nazwisko='$Nazwisko')"

gdzie:

$Diagnoza = $_POST['Diagnoza'];
$Nazwisko = $_POST['Nazwisko'];

Patrzyłam i wartości są prawidłowo odbierane z FORM'a metodą POST, ale problem leży w zapytanie. Powiedzcie mi proszę w czym jest problem, bo szczerze mówiąc nie mam pojęcia. Próbowałam różnych rozwiązań, ale niestety nie znalazłam takiego, które dałoby pożądany efekt.

Będę wdzięczna za Waszą pomoc!

neo_fox
10-09-2011, 13:32
Przede wszystkim to co robisz jest cholernie niebezpieczne.
Nigdy, przenigdy nie używaj danych wysłanych przez użytkownika bez sprawdzenia, w celu wykonania zapytania do bazy danych.
W ten sposób mogę Ci rozłożyć stronę na łopatki w kilka sekund.

W Joomla! również nie polecam stosowania zmiennych z zapytania bezpośrednio.
Zamiast tego używaj:


$Diagnoza = JRequest::getString( 'Diagnoza', null, 'post' );
$Nazwisko = JRequest::getString( 'Nazwisko', null, 'post' )


Poza tym zanim wykonasz zapytanie do db prześlij te dane przez:



$db = JFactory::getDbo();
$Diagnoza = $db->escape( JRequest::getString( 'Diagnoza', null, 'post' ) );
$Nazwisko = $db->escape( JRequest::getString( 'Nazwisko', null, 'post' ) );


Na zakończenie to powiem że nie mam pojęcia co starasz się zrobić :podstep:
Bo "Where" stosuje się prze aktualizacji albo selekcji a nie w trakcie dodawania nowych danych.
Poza tym należałoby znać strukturę tabeli.

marczulajtis
10-09-2011, 13:45
Chodzi o to, żeby lekarz mógł dodać diagnozę do konkretnego pacjenta. Więc potrzebuję dodać najpierw diagnozę, a później określić do którego rekordu konkretnie przypisać dodaną diagnozę.

---------- Post dodany o 13:45 ---------- Poprzedni post był o 13:37 ----------

Ok rozwiązałam już mój problem :) Bardzo dziękuje neo_fox za pomoc!