FOUT: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server v

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

George mendel

george mendel

24/02/2011 18:47:35
Quote Anchor link
ik ben bezig met een script waarbij ik een record kan verwijderen uit een tabel.
als ik nu op verwijderen druk, dan krijg ik de bovenstaande foutmelding.
het gaat om de volgende script:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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());
?>

<html>
<head>
<title>Verwijderen: weet u het zeker?</title>
</head>
<body>
<h2>Let op: wilt u deze gegevens verwijderen?</h2>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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 ");
            }
}
?>

<form action="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo($_SERVER["PHP_SELF"]);?>
" method="post">
<input type="hidden" name="bevestiging" value="1">
<input type="hidden" name="id" value="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo($_GET["id"]);?>
">
<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>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
{
// else-blok correct afsluiten
}
?>

</body>
</html>
 
PHP hulp

PHP hulp

15/11/2024 02:30:59
 
Jordi Kroon

Jordi Kroon

24/02/2011 18:57:56
Quote Anchor link
maak van dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
    echo("De volgende opdracht is uitgevoerd: <b>$query</b><br>\n");


dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
    echo("De volgende opdracht is uitgevoerd: <b>" . $query . "</b><br>\n");
 
- SanThe -

- SanThe -

24/02/2011 18:59:17
Quote Anchor link
Nou de complete error nog even, want daar staat gewoon de fout in.

Toevoeging op 24/02/2011 19:01:04:

Denk ook aan SQL-Injection.
 
Jasper DS

Jasper DS

24/02/2011 19:09:08
Quote Anchor link
Lees eerst maar eens even hoe je foutafhandelingen toevoegt.

En zoals santhe al zegt, wat is de volledige error?
 
George mendel

george mendel

24/02/2011 20:51:00
Quote Anchor link
Fatal error: Call to undefined function mysql_last_error() in C:\Users\zanajem\Desktop\xampp\htdocs\verwijder_werknemer.php on line 21

line 21 is: $result = mysql_query($query) or die ("FOUT: " . mysql_last_error());
 
- Ariën  -
Beheerder

- Ariën -

24/02/2011 20:51:55
Quote Anchor link
Het is mysql_error(), GEEN mysql_last_error()
 

24/02/2011 20:52:18
 
George mendel

george mendel

24/02/2011 21:30:30
Quote Anchor link
ja als ik het verander in mysql_error() dan krijg ik de bovengenoemde foutmelding:
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
 
Jasper DS

Jasper DS

24/02/2011 21:31:17
Quote Anchor link
probeer dit:

$query = "DELETE FROM opera WHERE id='" . $_GET['id'] . "'";
 

24/02/2011 21:31:49
Quote Anchor link
Als je het script gewoon goed maakt, met alle beveiliging e.d. erbij, dan is de query waarschijnlijk goed en heb je je probleem niet meer.

PHP Jasper op 24/02/2011 21:31:17:
probeer dit:

$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!
Gewijzigd op 24/02/2011 21:33:13 door
 
Jasper DS

Jasper DS

24/02/2011 21:32:37
Quote Anchor link
ik ben nog vergeten dat je mysql_real_escape_string() moet gebruiken.
 
- Ariën  -
Beheerder

- Ariën -

24/02/2011 21:33:35
Quote Anchor link
Regel 20:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$query="SELECT * FROM opera WHERE id='".mysql_real_escape_string($_GET['id'])."'";
 
Jasper DS

Jasper DS

24/02/2011 21:35:15
Quote Anchor link
- Aar - op 24/02/2011 21:33:35:
Regel 20:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$query="SELECT * FROM opera WHERE id='".mysql_real_escape_string($_GET['id'])."'";



mooi samengevat wat ik in 2 posten zei. Bedankt ;)
Gewijzigd op 24/02/2011 21:35:23 door Jasper DS
 
- SanThe -

- SanThe -

24/02/2011 22:12:55
Quote Anchor link
George mendel op 24/02/2011 21:30:30:
... the right syntax to use near '' at line 1


Near '', oftewel er is iets leeg.
 
George mendel

george mendel

24/02/2011 23:56:36
Quote Anchor link
klopt deze zin?
<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
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.