Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] Potwierdzenie zapytania
adam882
post
Post #1





Grupa: Zarejestrowani
Postów: 289
Pomógł: 1
Dołączył: 2.11.2007

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


Witam

Mając taki kod i zapytanie:
  1. $q=mysql_query('DELETE FROM tabela WHERE id='.(int)$_GET['id'].'');
  2. if($q){echo 'Wykonano';}else{echo 'Wystąpił problem';}

Zawsze zwraca wartość "Wykonano" (nawet jeśli ID nie istnieje). Pamiętam, że była funkcja, która rozwiązałaby problem i wskazała, czy element rzeczywiście został usunięty, lecz niestety zapomniałem o jaką chodzi sad.gif
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Kszyhuu
post
Post #2





Grupa: Zarejestrowani
Postów: 157
Pomógł: 32
Dołączył: 24.08.2009

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


To może przed wykonaniem delete'a warto by sprawdzić, czy dany rekord istnieje, czy nie?
Go to the top of the page
+Quote Post
mortus
post
Post #3





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


Zapewne chodzi Ci o mysql_affected_rows(), choć wydaje mi się, że problem leży gdzieś indziej. Co znaczy, że "ID nie istnieje"?

@Kshyhuu A po co? Przecież DELETE to sprawdza w warunku WHERE.

Od razu proponuję zmienić linię
  1. $q=mysql_query('DELETE FROM tabela WHERE id='.(int)$_GET['id'].'');
na
  1. $q=mysql_query('DELETE FROM tabela WHERE id='.(int)$_GET['id'].'') or die("Błąd zapytania: " . mysql_error());
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 Aktualny czas: 22.08.2025 - 05:04