Delete met HREF en een zekerheids button
ik heb een database, naast elke regel staat er edit/delete. Edit werkt maar Delete nog niet.Als ik op delete druk krijg ik een button of ik het zeker weet om het te deleten en dan geef ie dit aan:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
mijn code
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
$username="root";
$password="";
$database="Verzameling";
$con=mysql_connect(localhost,$username,$password);
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db($database, $con);
$ID = $_GET['ID'];
$info = mysql_query("SELECT * FROM cds WHERE ID='$ID'") or die ('Error Getting User Data! <br />' .mysql_error());
$chk = mysql_num_rows($info);
$u = mysql_fetch_array($info);
if (!$_POST['delete'])
if ($chk < 1) {
echo 'The ID <b>'.$ID.'</b> does not exist!';
}
else
{
?>
$username="root";
$password="";
$database="Verzameling";
$con=mysql_connect(localhost,$username,$password);
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db($database, $con);
$ID = $_GET['ID'];
$info = mysql_query("SELECT * FROM cds WHERE ID='$ID'") or die ('Error Getting User Data! <br />' .mysql_error());
$chk = mysql_num_rows($info);
$u = mysql_fetch_array($info);
if (!$_POST['delete'])
if ($chk < 1) {
echo 'The ID <b>'.$ID.'</b> does not exist!';
}
else
{
?>
<form method="post" action="">
<table width="350">
<tr>
<td>weet U het zeker dat u het wilt verwijderen?: </td>
</tr>
<tr>
<td colspan="1"><input type="submit" name="delete" value="delete" /></td>
</tr>
</table>
</form>
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
}
if ($_POST['delete']) {
$query =("DELETE FROM cds WHERE ID=". $_POST['ID']) or die ('Error Updating Data! <br />' .mysql_error());
$result = mysql_query($query) or die(mysql_error());
}
echo ($query);
?>
}
if ($_POST['delete']) {
$query =("DELETE FROM cds WHERE ID=". $_POST['ID']) or die ('Error Updating Data! <br />' .mysql_error());
$result = mysql_query($query) or die(mysql_error());
}
echo ($query);
?>
Hoop dat iemad wat suggesties heeft want ik ik ben helemaal op
Toevoeging op 12/01/2011 16:40:25:
jongens deze site doet heel raar nadat ik mijn code heb geplakt sorry :S
Haal ook eens je vars buiten quotes en bouw goede fout afhandeling in.
Kijk eens op www.phptuts.nl voor een aantal tutorials daar over.
EDIT: SQL injection is ook mogelijk zie ik nu.
Gewijzigd op 12/01/2011 16:56:01 door - Mark -
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
$result = mysql_query("DELETE FROM cds WHERE id = '".mysql_real_escape($_GET['id'])."'");
if(mysql_num_rows($result) > 0) {
echo 'resultaat';
}
else {
echo 'geen resultaat';
}
?>
$result = mysql_query("DELETE FROM cds WHERE id = '".mysql_real_escape($_GET['id'])."'");
if(mysql_num_rows($result) > 0) {
echo 'resultaat';
}
else {
echo 'geen resultaat';
}
?>
voorbeeldje ^^^^
Maar, als je jouw "weet u het zeker"-form post, komt er geen ID mee he!
http://www.php.net/mysql_num_rows geschreven staat.
Daar moge dan ook een verwijzing staan naar mysql_affected_rows, maar ook daar moet je rekening mee houden dat je 0 terug kan krijgen, dat zegt dan wel niets maar dan toch ook wel weer iets. Dus goed lezen wat er staat.