usuwanie wybranego rekordu z tabeli bazy danych

0

Hej!
Jestem początkujący i mam taki problem, w tabeli, która prezentuje tabelę z bazy danych
chciałbym utworzyć pole z którego można było by usunąć wybrany rekord.

fragment kodu select tabele.php:

echo "
<a href='delete.php?gid=".$row['gid']."target=''>usuń</a></td>";

fragment kodu delete.php wygląda tak:

<?php include('config.php'); if(isset($_GET['gid'])) { $id=$_GET['gid']; $query1="delete from xxx where id='$id'"; $result1 = pg_query($query1); if($query1) { echo "<script>alert('Uwaga usunięta!')</script>"; header('location:tabela.php'); } } ?>

niestety otrzymuję taki błąd:
[Wed Jan 23 0824.603892 2019] [:error] [pid 2985] [client :37979] PHP Warning: pg_query(): Query failed: B\xc5\x81\xc4\x84D: nieprawid\xc5\x82owa sk\xc5\x82adnia wej\xc5\x9bcia dla typu numerycznego: "1target="\nLINE 1: delete from tabliczki where id='1target='\n ^ in /home/web/qgwc/site/delete.php on line 15, referer: http://localhost/qgwc/site/tabela.php
[Wed Jan 23 0831.781738 2019] [:error] [pid 3680] [client :37987] PHP Warning: pg_query(): Query failed: B\xc5\x81\xc4\x84D: nieprawid\xc5\x82owa sk\xc5\x82adnia wej\xc5\x9bcia dla typu numerycznego: "1target="\nLINE 1: delete from tabliczki where id='1target='\n ^ in /home/web/qgwc/site/delete.php on line 15, referer: http://localhost/qgwc/site/tabela.php

Pozdr

0

No a przeczytaj sobie dokładnie komunikat błędu, albo zdebuguj jaką wartość wysyłasz do bazy. To od razu zobaczysz, co źle robisz. Brakuje Ci & w urlu.

I najlepiej waliduj sobie jakoś wartość tego ID (castowanie na inta, parametryzowanie zapytań), bo aktualnie to prosto możesz sobie SQL Injection zrobić.

0

Ja bym sprawdził co znajduje się w parametrze $id

0

Serdeczne dzięki za sugestie i zainteresowanie, rozwiązałem problem, może komuś się przyda

delete.php wygląda tak

<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <?php include('config.php'); if(isset($_GET['gid'])) { $ida=$_GET['gid'];

$query1="delete from tabliczki where gid='$ida'";
$result1 = pg_query($query1);
if($query1)
{
//echo "<script>alert('Uwaga usunięta!')</script>";
header('location:tabela.php');
}
}
?>

</body> </html>

a tabela.php

echo "<a href='delete.php?gid=".$row['gid']."'>usuń</a></td>";

echo "</tr>";}
echo "</table>";

1 użytkowników online, w tym zalogowanych: 0, gości: 1