Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Brak zapytania...
mambus
post
Post #1





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 30.11.2010

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


Witam.

Mam problem, ponieważ nie wiem czemu ale nie wykonuje mi się zapytanie do bazy MySQL... czy ktoś może rzucić okiem ?

CODE
<?php
include('glowny.php');
include('sql_connect.php');
?>
<?php
mysql_query ("SET NAMES utf8");
if (isset($submit)) {
if ($submit == "kasuj") {
$kawalki = explode(" ",$pilot_usuwany);
$id_a = $kawalki[0];
$sql = "DELETE FROM glowny_news WHERE id='".$id_a."'";
$result = mysql_query($sql);
echo ' <b> Wiadomość została skasowana</b>';
}
else {
echo ' Nie działa. ' ;}
}
echo '<br><br>
<table width="300" border="1" cellspacing="0" cellpadding="5" align="center">
<tr>
<td colspan="2" class="form-head">Wybierz wiadomość do usuniecia</td>
</tr>
<tr>
<td>
<select name="pilot_usuwany">';
$result = mysql_query("SELECT * FROM glowny_news");
while ($data = mysql_fetch_assoc($result))
{
echo "<option>".$data['id']."</option>";
}
echo '</select>
</td>
<td><input name="kasuj" type="submit" value="kasuj" /></td>
</tr>
</table>';

?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
sadistic_son
post
Post #2





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


  1. $sql = "DELETE FROM glowny_news WHERE id='".$id_a."'"; //to zamień na:
  2. $sql = 'DELETE FROM glowny_news WHERE id='.$id_a;
id jest pewnie typu int więc podaje się jego wartość bez pojedynczego cudzysłowu.

Ten post edytował sadistic_son 27.12.2010, 03:00:49
Go to the top of the page
+Quote Post
hondek
post
Post #3





Grupa: Zarejestrowani
Postów: 355
Pomógł: 50
Dołączył: 20.08.2007
Skąd: Częstochowa

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


ale stringa też powinien łyknąć chyba ... (IMG:style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
Rid
post
Post #4





Grupa: Zarejestrowani
Postów: 715
Pomógł: 47
Dołączył: 5.12.2010

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


Masz błędnie sformułowane zapytanie spróbuj zamienić:
  1. $sql = "DELETE FROM glowny_news WHERE id='".$id_a."'";
na:
  1. $sql = "DELETE FROM glowny_news WHERE id='$id_a' " OR die(mysql_error());
dzięki poleceniu :
  1. OR die(mysql_error())
zobaczysz ,gdzie tkwi problem.

Ten post edytował Rid 27.12.2010, 13:06:50
Go to the top of the page
+Quote Post
sazian
post
Post #5





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 141
Dołączył: 19.09.2006
Skąd: B-tów

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


Rid:
kod w obu przypadkach zadziała tak samo
oczywiście pomijając to "OR die(mysql_error());" (IMG:style_emoticons/default/biggrin.gif)

powinno być
  1. $sql = "DELETE FROM glowny_news WHERE id='".$id_a."'";
  2. $result = mysql_query($sql)OR die(mysql_error());

mambus:
a sprawdziłeś co jest w zmiennej $id_a?? może jest pusta lub ma inną niewłaściwą zwartość (IMG:style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
Rid
post
Post #6





Grupa: Zarejestrowani
Postów: 715
Pomógł: 47
Dołączył: 5.12.2010

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


Nie wydaje mi się:
  1. $sql = "DELETE FROM glowny_news WHERE id='".$id_a."'";

jeśli dodaje kropki przed $id_a to zmienną powinien zadeklarować tak:
  1. $id_a.= $kawalki[0];
przynajmniej tak mi się wydaje (IMG:style_emoticons/default/dry.gif)
Go to the top of the page
+Quote Post
sazian
post
Post #7





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 141
Dołączył: 19.09.2006
Skąd: B-tów

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


to bardzo źle ci się wydaje
taki zapis
  1. $id_a.= $kawalki[0];

to to samo co
  1. $id_a= $id_a.$kawalki[0];
Go to the top of the page
+Quote Post
Rid
post
Post #8





Grupa: Zarejestrowani
Postów: 715
Pomógł: 47
Dołączył: 5.12.2010

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


Cytat(sazian @ 27.12.2010, 14:32:21 ) *
to bardzo źle ci się wydaje
taki zapis
  1. $id_a.= $kawalki[0];

to to samo co
  1. $id_a= $id_a.$kawalki[0];

No to właśnie zdublował pan zmienną(IMG:style_emoticons/default/smile.gif) proszę sprawdzić:
  1. <?php
  2. $id="coś";
  3. $id2.=$id;
  4. echo "to jest przykład1:". $id2;
  5. $id2=$id2.$id;
  6. echo "to jest przykład2:". $id2;
  7. ?>
Go to the top of the page
+Quote Post
sadistic_son
post
Post #9





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


Cytat(Rid @ 27.12.2010, 15:04:09 ) *
No to właśnie zdublował pan zmienną(IMG:style_emoticons/default/smile.gif) proszę sprawdzić:
  1. <?php
  2. $id="coś";
  3. $id2.=$id;
  4. echo "to jest przykład1:". $id2;
  5. $id2=$id2.$id;
  6. echo "to jest przykład2:". $id2;
  7. ?>
Kolego co Ty za bzdury wciskasz? Powyższy przykład, owszem zdubluje zmienną ale tylko dlatego że $id2 tworzysz najpierw w 3 linijce a potem dodajesz ja do siebie w 5. Sazian ma racje, te zapisy sie niczym nie roznia. Jesil Pan nie wierzy niech sprawdzi to:
  1. $id='cos';
  2. $id2='nic';
  3. $id2.=$id;
  4. echo "to jest przykład1:$id2";
  5.  
  6. $id3='nic';
  7. $id3=$id3.$id;
  8. echo "to jest przykład2:$id3";
  9.  
  10. //lub, zeby nie motac kolejna zmienna:
  11. $id='cos';
  12. $id2='nic';
  13. $id2.=$id;
  14. echo "to jest przykład1:$id2";
  15.  
  16. $id2='nic'; //taki a'la reset zmiennej $id2, ktorego zabraklo w w Twoim kodzie.
  17. $id2=$id2.$id;
  18. echo "to jest przykład2:$id2";


Wszystkie echo wyswietla 'niccos' .

Ten post edytował sadistic_son 27.12.2010, 21:58:12
Go to the top of the page
+Quote Post

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: 23.08.2025 - 21:34