Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Usuwanie danych z bazy
Forum PHP.pl > Forum > Przedszkole
frykar
Witam. Jestem poczatkujacym. Mam problem z baza danych. Utworzylem ja w mysql- tu nie bylo problemow. Zaczynaja sie one jak łącze tą bazę z PHP. A mianowicie chcem zrobić dodawanie, usuwanie, wyszukiwanie z tej bazy za pomocą interfesju graficznego wykorzystując do tego własnie PHP, z którym nie miałem zbyt duzo do czynienia. Zrobiłem już dodawanie do bazy. Ale mam problem z kasowaniem jakiegoś rekordu. Oto skrypty html i php.
  1. <HTML>
  2. <HEAD>
  3. <TITLE>Kasowanie rekordu</TITLE>
  4. </HEAD>
  5. <BODY>
  6. <H1>Kasowanie pojedynczego rekordu</H1>
  7.  
  8. <FORM ACTION="usun.php" METHOD="POST">
  9. <TABLE BORDER=0>
  10.  
  11. <tr><td>Nazwa_serwisu</td><td><input type=char name=nazwa_serwisu maxlength=255
  12. size=50><br></td></tr>
  13.  
  14. <tr><td colspan=2><input type=submit value="Kasuj"></td></tr>
  15.  
  16. </TABLE>
  17. </FORM>
  18. </BODY>
  19. </HTML>

usun.php
  1. <HTML>
  2. <HEAD>
  3. <TITLE>Efekt kasowania pojedynczego rekordu</TITLE>
  4. </HEAD>
  5. <BODY>
  6. <H1>Rezultat kasowania rekordu</H1>

  1. <?php
  2. if (!$Nazwa_serwisu)
  3.    {
  4.     echo &#092;"Nie ma danych
  5. &#092;";
  6.    }
  7.   else
  8.    {
  9.     $connection = @mysql_connect(&#092;"localhost\", \"\", \"\")
  10.     or die(&#092;"Brak lacznosci\");
  11.  
  12.     $db_name = &#092;"serwis\";
  13.  
  14.     mysql_select_db($db_name, $connection);
  15.  
  16.     $sql = &#092;"delete from dodaj_serwis where nazwa_serwisu = \"$Nazwa_serwisu\"\";
  17.  
  18.     $result = @mysql_query($sql, $connection)
  19.     or die(&#092;"Zapytanie chybione\");
  20.  
  21.    if ($result)
  22.     {
  23.      echo mysql_affected_rows().&#092;" rekordow skasowanych\";
  24.     }
  25.   }
  26. ?>


Jesli chodzi o usera, hasło itd wszytsko jest ok. Natomiast po wykonaniu operacji pojawia mi sie taki komunikat:

"; } else { $connection = @mysql_connect("localhost", "", "") or die("Brak lacznosci"); $db_name = "serwis"; mysql_select_db($db_name, $connection); $sql = "delete from dodaj_serwis where nazwa_serwisu = \"$Nazwa_serwisu\""; $result = @mysql_query($sql, $connection) or die("Zapytanie chybione"); if ($result) { echo mysql_affected_rows()." rekordow skasowanych"; } } ?>

Czyli wyświetla mi cały skrypt usun.php

Jak ktoś wie gdzie jest błąd to proszę o pomoc. Dzięki.

EDIT: moderacja - dodano tago BBcode
EarthCitizen
A ten kod masz w pliku z rozszerzeniem .php ?
Kamil Jura
a masz jakąś metodę do odbierania danych z formularza ?
Po co podajesz $connection do funkcji mysql_query ?

zamiast
  1. <?php
  2. or die ("Zapytanie chybione");
  3. ?>


zrób
  1. <?php
  2. ?>

to pozwoli Ci odczytać poprawny komunikat błędu.

i zapytanie skonstruuj tak:

$sql = "DELETE FROM dodaj_serwis WHERE nazwa_serwisu = '$_POST[nazwa_serwisu]' LIMIT 1";

Pozdrawiam,
Kamil Jura
nevt
znacznik otwierający kod php to

<?php

a nie

<?

a jeżeli i tutaj nie dodasz do kodu PHP odpowiednich znaczników BBcode, to poleci drugie ostrzeżenie... aż strach pomyśleć, co nastąpi po trzecim ostrzeżeniu...
frykar
ok zrobiłem jak pisaliście. poprawiłem błedy, ale efekt jest dalej taki sam jak był, czyli pojawia mi sie cały skrytp usun.php. Ktos pisal, ze moge miec zle skonfigurowany serwer. korzystam z Krasnala lub WampServer. One z tego co wiem, same już konfigurują wszystko. Normalnie otwieraja mi sie strony localhost, phpinfo() itd. Co tu może byc nie tak?? O to poprawiony skrypt (moga byc jeszcze jakies bledy):
  1. <TITLE>Efekt kasowania pojedynczego rekordu</TITLE>
  2. </HEAD>
  3. <H1>Rezultat kasowania</H1>

  1. <?php
  2. if (!$Nazwa_serwisu)
  3.   {
  4.    echo "Nie ma danych<br>";
  5.   }
  6.  else
  7.   {
  8.    $connection = @mysql_connect("localhost", "root", "krasnal")
  9.    or die("Brak lacznosci");
  10.  
  11.    $db_name = "serwis";
  12.  
  13.    mysql_select_db($db_name, $connection);
  14.  
  15.    $sql = "DELETE FROM dodaj_serwis WHERE nazwa_serwisu = '$_POST[Nazwa_serwisu]' LIMIT 1";
  16.  
  17.    $result = @mysql_query($sql, $connection)
  18.    or die(mysql_error());
  19.  
  20.   if ($result)
  21.    {
  22.     echo mysql_affected_rows()." rekordow skasowanych";
  23.    }
  24.  }
  25. ?>

  1. <P><a href="menu.html">Powrot do menu</a></P>
  2. </BODY>
  3. </HTML>


rezultat po wcisnieciu "KASUJ" jest, jak napisalem wyzej, taki sam jak byl wczesniej.

EDIT: moderacja - dodano tagi BBcode
isso
Używaj znaczników BBCODE! nic tu nie widać....
nevt
Podobnie jak w innym temacie - prośba o dodanie tagów BBcode została zignorowana. Zamykam temat. Reklamacja na PW.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.