Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Brak zapytania...
Forum PHP.pl > Forum > Przedszkole
mambus
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>';

?>
sadistic_son
  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.
hondek
ale stringa też powinien łyknąć chyba ... winksmiley.jpg
Rid
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.
sazian
Rid:
kod w obu przypadkach zadziała tak samo
oczywiście pomijając to "OR die(mysql_error());" 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ść questionmark.gif
Rid
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 dry.gif
sazian
to bardzo źle ci się wydaje
taki zapis
  1. $id_a.= $kawalki[0];

to to samo co
  1. $id_a= $id_a.$kawalki[0];
Rid
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ą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. ?>
sadistic_son
Cytat(Rid @ 27.12.2010, 15:04:09 ) *
No to właśnie zdublował pan zmienną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' .
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.