Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [mysql] UPDATE, DELETE nie dziala ? ;x
TroYan
post 27.01.2008, 23:15:25
Post #1





Grupa: Zarejestrowani
Postów: 56
Pomógł: 1
Dołączył: 19.04.2004
Skąd: Bytom Odrz.

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


tak wygląda edycja:
  1. <?php
  2. $tytul=$_POST['tytul2'];
  3. $tresc=$_POST['tresc2'];
  4. $id=$_GET['id'];
  5. echo($tytul.' ');
  6. echo($tresc.' ');
  7. echo($id);
  8. $zmien="UPDATE `newsy` SET `tytul`='$tytul', `tresc`='$tresc' WHERE `id`='$id'";
  9. $wykonajzmien=mysql_query($zmien) or die('nie zmieniam');
  10. ?>


tak usuwanie:
  1. <?php
  2. $usun="DELETE FROM `newsy` WHERE `id`='$id'"
  3. $idusun=mysql_query($usun) or die('nie usuwam');
  4.  
  5. echo(News zosta&#322; usunięty!);
  6. ?>



w pierwszym przypadku wyskakuje komunikat z die('nie zmieniam'). ale echo tytulu, tresci i id wyswietla się.

w drugim nic nie wyskakuje (mam konto na cba.pl) tam chyba jest wyłączone wyświetlanie błędów php - po próbie włączenia wyskakuje mi czysta strona. a rekordy sie nie usuwaja;x

szukalem na forum podobnych tematów, nawet znalazlem jeden ale nie pomogło mi to. pewnie nie widze jakiegos głupiego apostrofa o którym zapomnialem i dlatego mi się sypie? a moze pliki te nie maja uprawnien do takich operacji w bazie? nie mam pojecia bo dopiero zaczynam przygode z sqlem

Ten post edytował TroYan 27.01.2008, 23:17:19


--------------------
zmoderowano - waga i rozmiar
Go to the top of the page
+Quote Post
sticker
post 27.01.2008, 23:31:50
Post #2





Grupa: Zarejestrowani
Postów: 611
Pomógł: 19
Dołączył: 28.02.2005
Skąd: Wrocław

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


wypadałoby sie połączyć z bazą ?


--------------------
Go to the top of the page
+Quote Post
kopczyk
post 27.01.2008, 23:41:06
Post #3





Grupa: Zarejestrowani
Postów: 24
Pomógł: 2
Dołączył: 5.01.2008
Skąd: Jelenia Góra

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


Cytat
wypadałoby sie połączyć z bazą ?


Przede wszystkim smile.gif

Spróbuj jeszcze:

Kod
echo "UPDATE `newsy` SET `tytul`='$tytul', `tresc`='$tresc' WHERE `id`='$id'";


I sprawdź czy w tych pojedynczych cydzysłowiach interpoluje Ci zmienną $id.

tak nawiasem to w zapytaniach liczb nie musisz umieszczać w cydzysłowiach.
Go to the top of the page
+Quote Post
miccom
post 27.01.2008, 23:41:51
Post #4





Grupa: Zarejestrowani
Postów: 493
Pomógł: 8
Dołączył: 7.07.2007
Skąd: Tychy

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


Podczas update rekordów ja bym zrobił tak:
  1. <?
  2. $zmien="UPDATE `newsy` SET `tytul`='$tytul', `tresc`='$tresc' WHERE `id`='$id'";
  3. $wykonajzmien = @mysql_query($zmien);
  4. if ($wykonajzmien){ //jezeli nie wystapily zadne bledy
  5. $message .= 'Wiadomość jeśli zapytanie wykonane';
  6. }else{
  7. $message .= 'Wiadomość jeśli coś sie nie powiodło';
  8. } 
  9.  
  10. echo $message;//i wyświetlanie komentarzy
  11. ?>


Powinno działać. Odnośnie drugiego zapytania myślę ze pominąłeś średnik po zapytaniu:
  1. <?php
  2. $usun="DELETE FROM `newsy` WHERE `id`='$id'"
  3. ?>


Spróbuj tak:
  1. <?php
  2. $usun="DELETE FROM `newsy` WHERE `newsy`.`id`='$id' LIMIT 1";
  3. $idusun = @mysql_query($usun);
  4. if ($idusun){ //jezeli nie wystapily zadne bledy
  5. $message .= 'News został usunięty!';
  6. }else{
  7. $message .= 'NIe mogłem usunąć tego newsa. Spróbuj ponownie';
  8. } 
  9.  
  10. echo $message;//i wyświetlanie komentarzy
  11. ?>


U mnie te zapytania działają- więc myślę że i Tobie będą działać. Pozdrawiam.

Ten post edytował miccom 27.01.2008, 23:47:18


--------------------
Jeśli pomogłem- kliknij POMÓGŁ-przyda się ;)- jeśli piszę bzdury- pisz pod postami. Poprawię się.
PISZĘ POPRAWNIE PO POLSKU!
Go to the top of the page
+Quote Post
TroYan
post 28.01.2008, 01:44:38
Post #5





Grupa: Zarejestrowani
Postów: 56
Pomógł: 1
Dołączył: 19.04.2004
Skąd: Bytom Odrz.

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


Cytat(miccom @ 28.01.2008, 01:41:51 ) *
Podczas update rekordów ja bym zrobił tak:
(...)
U mnie te zapytania działają- więc myślę że i Tobie będą działać. Pozdrawiam.


do poprzedników: chłopaki ;-) jestem noobem no ale nie az takim zeby sie z baza nie łączyc ;ppp

miccom - skopiowałem twój skrypt do nowego pliku zeby przetestowac i zamiast $id wpisalem konkretny numer newsa do usunięcia to wyskakuje "Nie mogłem usunąć tego newsa. Spróbuj ponownie". próbowalem kilka róznych numerów id.

Ten post edytował TroYan 28.01.2008, 01:46:41


--------------------
zmoderowano - waga i rozmiar
Go to the top of the page
+Quote Post
uli
post 28.01.2008, 08:51:44
Post #6





Grupa: Zarejestrowani
Postów: 318
Pomógł: 6
Dołączył: 27.01.2005

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


wywal ` przy nazwach kolumn i nazwie tabeli. Z reguły mi pomagało


--------------------
Prawo Wylera:
Nie ma rzeczy niemożliwych dla kogoś, kto nie musi ich zrobić sam.
Go to the top of the page
+Quote Post
miccom
post 28.01.2008, 09:14:14
Post #7





Grupa: Zarejestrowani
Postów: 493
Pomógł: 8
Dołączył: 7.07.2007
Skąd: Tychy

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


Też właśnie słyszałem że niepotrzebne są te ` ale u mnie z kolei właśnie dodałem takowe- bo miałem problemy. Teraz działa bez zarzutu. Od czego to może zależeć?? U mnie działa.
Poczytaj tutaj- chyba najlepsze kursy w necie - HTML+css, php, MySQL, ajax, GIMP, Smarty polecam.
INSERT, DELETE, UPDATE


--------------------
Jeśli pomogłem- kliknij POMÓGŁ-przyda się ;)- jeśli piszę bzdury- pisz pod postami. Poprawię się.
PISZĘ POPRAWNIE PO POLSKU!
Go to the top of the page
+Quote Post
TroYan
post 28.01.2008, 16:12:29
Post #8





Grupa: Zarejestrowani
Postów: 56
Pomógł: 1
Dołączył: 19.04.2004
Skąd: Bytom Odrz.

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


ej czy plikom trzeba dac jakies prawa do zmian w bazie danych? bo naprawde nie kumam - usunąłem jeden rekord przez phpmyadmin poprosiłem zeby wygenerowało mi kod, skopiowałem - nadal wywala die, "nie zmieniam" nie kleje tego ;/


--------------------
zmoderowano - waga i rozmiar
Go to the top of the page
+Quote Post
Fishu
post 28.01.2008, 16:38:00
Post #9





Grupa: Zarejestrowani
Postów: 192
Pomógł: 13
Dołączył: 16.11.2007
Skąd: Żory

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


Mi zawsze jak niedziała to pierw wykonuje tą opcje w PHPMyAdmin i kopiuje zapytanie i wklejam do jakiejś zmiennej i pięknie wszystko śmiga.
//Edit: Sorrki nie doczytałem do końca twojego postu. A spróbuj do die() dać funkcje mysql_error();
  1. <?php
  2. $tytul=$_POST['tytul2'];
  3. $tresc=$_POST['tresc2'];
  4. $id=$_GET['id'];
  5. echo($tytul.' ');
  6. echo($tresc.' ');
  7. echo($id);
  8. $zmien="UPDATE `newsy` SET `tytul`='$tytul', `tresc`='$tresc' WHERE `id`='$id'";
  9. $wykonajzmien=mysql_query($zmien) or die(mysql_error());
  10. ?>


Ten post edytował Fishu 28.01.2008, 16:40:55


--------------------
"Źle czynisz, jeśli chwalisz, gorzej, jeśli ganisz rzecz, której dobrze nie znasz." - Leonardo Da Vinci

30.01.2009 - Mój 100 post.
Go to the top of the page
+Quote Post
TroYan
post 28.01.2008, 22:15:42
Post #10





Grupa: Zarejestrowani
Postów: 56
Pomógł: 1
Dołączył: 19.04.2004
Skąd: Bytom Odrz.

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


ej aż wstyd się przyznac ;o rozwiązałem problem... ale naprawdę głupio mi strasznie ze wam zabrałem czas...

w mysql_select_db z rozpędu wpisałem nazwę tabeli zamiast nazwy bazy ... pomogła mi funkcja mysql_error() ... jeszcze raz przepraszam i dziękuję za starania. ;pp jednak jestem bardzo noob biggrin.gif


--------------------
zmoderowano - waga i rozmiar
Go to the top of the page
+Quote Post
miccom
post 28.01.2008, 23:20:34
Post #11





Grupa: Zarejestrowani
Postów: 493
Pomógł: 8
Dołączył: 7.07.2007
Skąd: Tychy

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


Czyli pomógł fishu:D


--------------------
Jeśli pomogłem- kliknij POMÓGŁ-przyda się ;)- jeśli piszę bzdury- pisz pod postami. Poprawię się.
PISZĘ POPRAWNIE PO POLSKU!
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 19.04.2024 - 06:26