FOUT: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server v
als ik nu op verwijderen druk, dan krijg ik de bovenstaande foutmelding.
het gaat om de volgende script:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
if (!($conn = mysql_connect("localhost", "root", "")))
die("Error: Couldn't connect");
if (!mysql_select_db("music", $conn))
die("Error: Database name incorrect");
// controleren of pagina zichzelf heeft aangeroepen
// via hidden-field uit het formulier
if (isset($_GET['del']) && is_numeric($_GET['del'])) {
$query = "DELETE FROM opera WHERE id='" . $_GET["id"] . "'";
$result = mysql_query($query) or die ("FOUT: " . mysql_last_error());
echo("De volgende opdracht is uitgevoerd: <b>$query</b><br>\n");
if ($result){
echo ("Record nummer " .$_GET["id"] . " is verwijderd<br>\n");
echo ("<a href=\"oef_1203.php\">Terug naar het overzicht</a>");
}
}else{
// pagina heeft zichzelf nog niet aangeroepen,
// eerst om bevestiging vragen
$query="SELECT * FROM opera WHERE id=" .$_GET["id"];
$result = mysql_query($query) or die ("FOUT: " . mysql_error());
?>
if (!($conn = mysql_connect("localhost", "root", "")))
die("Error: Couldn't connect");
if (!mysql_select_db("music", $conn))
die("Error: Database name incorrect");
// controleren of pagina zichzelf heeft aangeroepen
// via hidden-field uit het formulier
if (isset($_GET['del']) && is_numeric($_GET['del'])) {
$query = "DELETE FROM opera WHERE id='" . $_GET["id"] . "'";
$result = mysql_query($query) or die ("FOUT: " . mysql_last_error());
echo("De volgende opdracht is uitgevoerd: <b>$query</b><br>\n");
if ($result){
echo ("Record nummer " .$_GET["id"] . " is verwijderd<br>\n");
echo ("<a href=\"oef_1203.php\">Terug naar het overzicht</a>");
}
}else{
// pagina heeft zichzelf nog niet aangeroepen,
// eerst om bevestiging vragen
$query="SELECT * FROM opera WHERE id=" .$_GET["id"];
$result = mysql_query($query) or die ("FOUT: " . mysql_error());
?>
<html>
<head>
<title>Verwijderen: weet u het zeker?</title>
</head>
<body>
<h2>Let op: wilt u deze gegevens verwijderen?</h2>
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php while ($rij = mysql_fetch_array($result)){
echo ("<tr><td>". $rij['id'] . " </td> " .
"<td>" . $rij['Opera'] . " </td>" .
"<td>" . $rij['Componist'] . " </td> " .
"<td>" . $rij['Aria'] . " </td> " .
"<td>" . $rij['Stemtype'] . " </td> " .
"<td>" . $rij['Taal'] . " </td></tr\n ");
}
}?>
echo ("<tr><td>". $rij['id'] . " </td> " .
"<td>" . $rij['Opera'] . " </td>" .
"<td>" . $rij['Componist'] . " </td> " .
"<td>" . $rij['Aria'] . " </td> " .
"<td>" . $rij['Stemtype'] . " </td> " .
"<td>" . $rij['Taal'] . " </td></tr\n ");
}
}?>
<form action="" method="post">
<input type="hidden" name="bevestiging" value="1">
<input type="hidden" name="id" value="">
<input type="button" value="Verwijderen" onclick="window.location.href='verwijder_werknemer.php?del={$record.id}';" />
<input type="Button" value="Nee, terug" onclick="javascript:history.back();">
</form>
</body>
</html>
dit:
Toevoeging op 24/02/2011 19:01:04:
Denk ook aan SQL-Injection.
line 21 is: $result = mysql_query($query) or die ("FOUT: " . mysql_last_error());
Het is mysql_error(), GEEN mysql_last_error()
FOUT: 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
$query = "DELETE FROM opera WHERE id='" . $_GET['id'] . "'";
PHP Jasper op 24/02/2011 21:31:17:
probeer dit:
$query = "DELETE FROM opera WHERE id='" . $_GET['id'] . "'";
$query = "DELETE FROM opera WHERE id='" . $_GET['id'] . "'";
Nee, mysql_real_escape_string is niet alleen tegen sql injections maar is ter beveiliging van rare input, die jezelf ook kan invullen. Dus ALTIJD mysql_real_escape_string gebruiken!
ik ben nog vergeten dat je mysql_real_escape_string() moet gebruiken.
- Aar - op 24/02/2011 21:33:35:
mooi samengevat wat ik in 2 posten zei. Bedankt ;)
Gewijzigd op 24/02/2011 21:35:23 door Jasper DS
George mendel op 24/02/2011 21:30:30:
... the right syntax to use near '' at line 1
Near '', oftewel er is iets leeg.
<input type="button" value="Verwijderen" onclick="window.location.href='verwijder_werknemer.php?del={$record.id}';" />
Toevoeging op 25/02/2011 00:04:16:
klopt deze zin?
<input type="button" value="Verwijderen" onclick="window.location.href='verwijder_werknemer.php?del={$record.id}';" />
Toevoeging op 25/02/2011 13:08:43:
kan iemand nog helpen!1