←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

MySQL
Zapytanie "DELETE" Problem

Locked

  • +
  • -
Gh0st's Photo Gh0st 11.09.2011

Nie wiem czemu, ale chyba źle wykonuje zapytanie delete. wcześniej nie miałem z tym problemu a teraz d*pa



if($_GET['menu'] == 'news')
{
if($_GET['menu'] == 'news' && $_GET['delete'])
{
$get = $_GET['delete'];
$usun = mysql_query("DELETE * from `newsy` where `id`='$get'");
if($usun)
{
echo '<div class="uwaga">Pomyślnie usunięto</div>';
}
else if($usun)
{
echo '<div class="uwagaczer">Nie udało się usunąć Newsa</div>';
}

}
echo '<center>
<table bordercolor="#94a3c4" width="100%" height="5%">
<tr height="5" bgcolor="#eceff5">
<td colspan="4"><b>Możesz Tutaj Usuwać / edytować Newsy</b></td>
</tr>';

$mysql = mysql_query("SELECT * from `newsy`");
while($newsy = mysql_fetch_array($mysql))
{
echo <<< newsy
<tr height="5" bgcolor="#eceff5">
<td colspan="3">{$newsy['tytul']}</td><td><a href="index.php?menu=news&delete={$newsy['id']}">Usuń</a> / <a href="index.php?edit={$newsy['id']}">Edutuj</a></td>
</tr>
newsy;
}
echo '</table></center>';


}
Quote

  • +
  • -
byCZUS's Photo byCZUS 11.09.2011

złe zapytanie ;D

powinno być
DELETE FROM `newsy` WHERE `id` = '$get'

Do tego radzę przed $_GET['id'] dodać znaczek (int) by uniknąć SQL INJECTION w jakimś tam stopniu.

$get = (int)$_GET['delete'];

Edited by byCZUS, 11.09.2011 17:56.
Quote

  • +
  • -
Gh0st's Photo Gh0st 11.09.2011

Ok dzięki,
z tą gwiazdą co jej nie powinno być to się domyśliłem , ale z tą dziurą na SQL injection to nie ;d

Ok + leci
Quote
Locked