Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [php/mysql] Problem z kasowaniem rekordów
servs
post
Post #1





Grupa: Zarejestrowani
Postów: 235
Pomógł: 0
Dołączył: 18.11.2006
Skąd: gorzów

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


Witam!
Mam taką komendę:
  1. <?php
  2. mysql_query("delete from ".$_GET['table']." where ".$_GET['key']."='".$_GET['id']."'");
  3. ?>


Wszystkie zmienne są ładnie określone, sprawdzałem i powinny być wczytane... A w bazie żadne zmiany nie zachodzą... Dlaczego?

Pozdrawiam!
Go to the top of the page
+Quote Post
potreb
post
Post #2





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


Najlepiej sprawdź sobie czy zmienne są przesyłane, wyswietlając je przed zapytaniem, wtedy będziesz miał pewność ze istnieja i stosuj or die(mysql_error()); to wtedy będziesz też znał błąd

Ten post edytował potreb 19.01.2008, 15:22:16
Go to the top of the page
+Quote Post
servs
post
Post #3





Grupa: Zarejestrowani
Postów: 235
Pomógł: 0
Dołączył: 18.11.2006
Skąd: gorzów

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


Spradzałem to poprzez echo $_GET['table']; itp. Zmienne są wysyłane.
Go to the top of the page
+Quote Post
potreb
post
Post #4





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


A dodałeś do zapytania or die(mysql_error());, żeby poznać ogólny błąd
Go to the top of the page
+Quote Post
cornholio666
post
Post #5





Grupa: Zarejestrowani
Postów: 472
Pomógł: 8
Dołączył: 14.03.2004
Skąd: Rzeszów

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


  1. <?php
  2. $query = "delete from '".$_GET['table']."' where '".$_GET['key']."'=".$_GET['id']." ";
  3. echo $query;
  4. $result = mysql_query($query);
  5. ?>


i zobacz co ci wyświetyla $query
Go to the top of the page
+Quote Post
servs
post
Post #6





Grupa: Zarejestrowani
Postów: 235
Pomógł: 0
Dołączył: 18.11.2006
Skąd: gorzów

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


Wiświetliło
Cytat
delete from 'tadreswww' where 'idtadreswww'=4
Czyli wszystko się zgadza... Nie podobały mi się pojedyńcze cudzysłowy ' ' więc je usunęłem. ale tak czy siak rekordy nie chcą się usunąć.

Wprowadziłem bezpośrednio do bazy komendę
Cytat
delete from tadreswww where idtadreswww=4
to zadziałało... ale z poziomu php nie mogę za nic tego wysłać...

Cytat(potreb @ 19.01.2008, 15:28:59 ) *
A dodałeś do zapytania or die(mysql_error());, żeby poznać ogólny błąd


Tą fukcję zastosowałem na samym początku pliku.
Go to the top of the page
+Quote Post
Lion_87
post
Post #7





Grupa: Zarejestrowani
Postów: 850
Pomógł: 120
Dołączył: 15.02.2007
Skąd: Łódź

Ostrzeżenie: (10%)
X----


moze dlatego ze nie ma ' w $_GET['id']

Kod
<?php
$query = "delete from '".$_GET['table']."' where '".$_GET['key']."'='".$_GET['id']."' ";
echo $query;
$result = mysql_query($query);
?>


Ten post edytował Lion_87 19.01.2008, 16:14:40
Go to the top of the page
+Quote Post
servs
post
Post #8





Grupa: Zarejestrowani
Postów: 235
Pomógł: 0
Dołączył: 18.11.2006
Skąd: gorzów

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


Cytat(Lion_87 @ 19.01.2008, 16:14:24 ) *
moze dlatego ze nie ma ' w $_GET['id']

Kod
<?php
$query = "delete from '".$_GET['table']."' where '".$_GET['key']."'='".$_GET['id']."' ";
echo $query;
$result = mysql_query($query);
?>


Prubowałem z ' ' i bez... w obie strony nie działa. Ale przy wprowadzaniu do konsoli MySQL Wszystko działa.
Go to the top of the page
+Quote Post
Lion_87
post
Post #9





Grupa: Zarejestrowani
Postów: 850
Pomógł: 120
Dołączył: 15.02.2007
Skąd: Łódź

Ostrzeżenie: (10%)
X----


a nie możesz zamiast
$_GET['table']

zrobic $table
i tak wszystkie .....
Go to the top of the page
+Quote Post
servs
post
Post #10





Grupa: Zarejestrowani
Postów: 235
Pomógł: 0
Dołączył: 18.11.2006
Skąd: gorzów

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


Cytat(Lion_87 @ 19.01.2008, 16:19:41 ) *
a nie możesz zamiast
$_GET['table']

zrobic $table
i tak wszystkie .....


Wątpie... przecież dane wysyłam "w linku" np: http://xxx.pl/index.php?act=del&id=3
Go to the top of the page
+Quote Post
Lion_87
post
Post #11





Grupa: Zarejestrowani
Postów: 850
Pomógł: 120
Dołączył: 15.02.2007
Skąd: Łódź

Ostrzeżenie: (10%)
X----


możesz!!!!!!!!!!!!!!!

$table=$_GET['table'];
Go to the top of the page
+Quote Post
servs
post
Post #12





Grupa: Zarejestrowani
Postów: 235
Pomógł: 0
Dołączył: 18.11.2006
Skąd: gorzów

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


Cytat(Lion_87 @ 19.01.2008, 16:26:39 ) *
możesz!!!!!!!!!!!!!!!

$table=$_GET['table'];


Ale w jaki sposób mam to wpisać? To zrobić te warunki co podałeś i w komendzie do mysql jak to wpisać?
Go to the top of the page
+Quote Post
potreb
post
Post #13





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


  1. <?php
  2. if($_GET['del'] == "ok") {
  3. $query = "delete from ".$_GET['table']." where ".$_GET['key']."=".$_GET['id']." ";
  4. echo $query;
  5. $result = mysql_query($query);
  6. }
  7. ?>


Wywołujesz np tak:
plik.php?del=ok&table=uzytkownicy&key=id&id=3

Napewno działa (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Z drugiej strony nie wiem dlaczego chcesz stosować taką metodę edycji. W ten sposób ryzykujesz że ktoś ci może usunąć dane

Ten post edytował potreb 19.01.2008, 16:32:06
Go to the top of the page
+Quote Post
Lion_87
post
Post #14





Grupa: Zarejestrowani
Postów: 850
Pomógł: 120
Dołączył: 15.02.2007
Skąd: Łódź

Ostrzeżenie: (10%)
X----


jak jak

tak

Kod
<?php
$table=$_GET['table'];
$key=$_GET['key'];
$id=$_GET['id'];

$query = "delete from $table where $key=$id ";
echo $query;
$result = mysql_query($query);
?>
Go to the top of the page
+Quote Post
servs
post
Post #15





Grupa: Zarejestrowani
Postów: 235
Pomógł: 0
Dołączył: 18.11.2006
Skąd: gorzów

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


Cytat(potreb @ 19.01.2008, 16:29:08 ) *
  1. <?php
  2. if($_GET['del'] == "ok") {
  3. $query = "delete from ".$_GET['table']." where ".$_GET['key']."=".$_GET['id']." ";
  4. echo $query;
  5. $result = mysql_query($query);
  6. }
  7. ?>


Wywołujesz np tak:
plik.php?del=ok&table=uzytkownicy&key=id&id=3

Napewno działa (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Z drugiej strony nie wiem dlaczego chcesz stosować taką metodę edycji. W ten sposób ryzykujesz że ktoś ci może usunąć dane


Nie wiem czemu ale.... nie działa (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Nie wiem też czy czasem źle nie wprowadzam danych podaję link:
http://localhost/project1/index.php?sel=fi...key=idtadreswww

Ale mi to wygląda na problemy z dostępem do bazy danych... nie wiem dlaczego tak się dzieje... Bo wprowadzając identyczne komendy bezpośrednio do bazy wszystko działa pomyślnie.

Cytat(Lion_87 @ 19.01.2008, 16:33:09 ) *
jak jak

tak

Kod
<?php
$table=$_GET['table'];
$key=$_GET['key'];
$id=$_GET['id'];

$query = "delete from $table where $key=$id ";
echo $query;
$result = mysql_query($query);
?>


Wyświetla
Cytat
delete from tadreswww where idtadreswww=5
i nie usuwa.
Wpisałem bezpośrednio przez phpmyadmin i usunął...

Cytat(Lion_87 @ 19.01.2008, 16:33:09 ) *
jak jak

tak

Kod
<?php
$table=$_GET['table'];
$key=$_GET['key'];
$id=$_GET['id'];

$query = "delete from $table where $key=$id ";
echo $query;
$result = mysql_query($query);
?>


Wyświetla
Cytat
delete from tadreswww where idtadreswww=5
i nie usuwa.
Wpisałem bezpośrednio przez phpmyadmin i usunął...
Go to the top of the page
+Quote Post
Lion_87
post
Post #16





Grupa: Zarejestrowani
Postów: 850
Pomógł: 120
Dołączył: 15.02.2007
Skąd: Łódź

Ostrzeżenie: (10%)
X----


ten link jest zly

http://localhost/project1/index.php?sel=fi...key=idtadreswww

brakuje &
http://localhost/project1/index.php?sel=fi...key=idtadreswww

i co to za kropki ...

Ten post edytował Lion_87 19.01.2008, 16:40:40
Go to the top of the page
+Quote Post
servs
post
Post #17





Grupa: Zarejestrowani
Postów: 235
Pomógł: 0
Dołączył: 18.11.2006
Skąd: gorzów

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


Cytat(Lion_87 @ 19.01.2008, 16:33:09 ) *
jak jak

tak

Kod
<?php
$table=$_GET['table'];
$key=$_GET['key'];
$id=$_GET['id'];

$query = "delete from $table where $key=$id ";
echo $query;
$result = mysql_query($query);
?>


Wyświetla
Cytat
delete from tadreswww where idtadreswww=5
i nie usuwa.
Wpisałem bezpośrednio przez phpmyadmin i usunął...

Link sie źle wpisał :]
Podaję jeszcze raz.
localhost/project1/index.php?sel=filmy_base_del&id=5&table=tadreswww&key=idtadreswww

Ten post edytował servs 19.01.2008, 16:41:31
Go to the top of the page
+Quote Post
cornholio666
post
Post #18





Grupa: Zarejestrowani
Postów: 472
Pomógł: 8
Dołączył: 14.03.2004
Skąd: Rzeszów

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


spróbuj dać po mysql_query mysql_error albo pokaz caly kod.

i powinienes juz wiedziec ze na localhost to my nie wejdziemy... chyba ze na swój

Ten post edytował cornholio666 19.01.2008, 16:41:29
Go to the top of the page
+Quote Post
servs
post
Post #19





Grupa: Zarejestrowani
Postów: 235
Pomógł: 0
Dołączył: 18.11.2006
Skąd: gorzów

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


Cytat(cornholio666 @ 19.01.2008, 16:41:14 ) *
spróbuj dać po mysql_query mysql_error albo pokaz caly kod.

i powinienes juz wiedziec ze na localhost to my nie wejdziemy... chyba ze na swój


w jaki sposób mam to dodać?
link podaję tylko do wglądu na strukturę.
Go to the top of the page
+Quote Post
Lion_87
post
Post #20





Grupa: Zarejestrowani
Postów: 850
Pomógł: 120
Dołączył: 15.02.2007
Skąd: Łódź

Ostrzeżenie: (10%)
X----


tak kolumna sie nazywa "idtadreswww"?
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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: 24.08.2025 - 21:41