You have an error in your SQL syntax;

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Wesley Maker

Wesley Maker

23/04/2012 16:56:19
Quote Anchor link
Zoals de titel al zegt, hij zegt dat er een sql syntrax error in zit, en ik kan hem niet aan de gang krijgen.

Het gaat om dit stukje:
Quote:
if(isset($_GET["succes"])) {
echo "<h1>Succesvol Gewijzigd</h1>";



Quote:
if(isset($_GET["succes"])) {
echo "<h1>Succesvol Gewijzigd</h1>";

switch($_GET["succes"]) {
case '1':
echo("<div class=\"green\">Reactie Gewijzigd!</div>");
echo "<meta http-equiv=\"refresh\" content=\"2; URL=?page=forum/topic&id=".$_GET['id']."\">";
break;
case '2':
echo("<div class=\"green\">Topic Gewijzigd!</div>");
echo "<meta http-equiv=\"refresh\" content=\"2; URL=?page=forum/topic&id=".$_GET['id']."\">";
break;

}

}


Heb er een extra stukje script bij gepakt. De volledige error is:
Quote:
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 ''1''' at line 5



Als iemand mij zou willen help, a.u.b dankjewel!
 
PHP hulp

PHP hulp

06/11/2024 03:47:19
 
Marco PHPJunky

Marco PHPJunky

23/04/2012 17:00:12
Quote Anchor link
Hij zegt dat er een error zit in je SQL/query string.
en die zie ik nog nergens staan
zou je deze ook willen plaatsen...

bvd
 
Q S

Q S

23/04/2012 17:00:14
Quote Anchor link
Maar dan zit de fout niet hier maar in het gedeelte hiervoor waar de query uitgevoerd wordt
 
Marijn Struijlaart

Marijn Struijlaart

23/04/2012 17:00:54
Quote Anchor link
volgens mij moet je je aanhalingstekens rond je 1 en 2 weghalen. dus case 1: ipv case '1':
 
Jasper DS

Jasper DS

23/04/2012 17:01:10
Quote Anchor link
Misschien leuk als je ons het stukje code laat zien waar het mis loopt, ik zie geen query. Lees eerst ook dit eens door.

edit:
te laat.
De ' rond de getallen moeten inderdaad weg maar dat heeft niets met de error te maken
Gewijzigd op 23/04/2012 17:02:20 door Jasper DS
 
Wesley Maker

Wesley Maker

23/04/2012 17:01:26
Quote Anchor link
Volgens mij is dit de Query

mysql_query("UPDATE `Forum_Reacties` SET Reactie='".htmlspecialchars(htmlentities(strip_tags(gebruiksmile($reactieEdit))))."' WHERE ID = '".$_GET['id']."'") OR DIE(mysql_error());

Maar ik weet het niet zeker, ben namelijk nog een beginner.
 
Jasper DS

Jasper DS

23/04/2012 17:03:25
Quote Anchor link
Lees eerst nog eens een basis cursus PHP en SQL. Dit trekt namelijk op niets.
OR DIE is een slecht manier. Lees dit ook nog maar eens.

waar je op moet letten:
- SQL-injectie
- Foutafhandeling
- Juiste quotes
- netjes scripten
- ...
Gewijzigd op 23/04/2012 17:05:03 door Jasper DS
 
Q S

Q S

23/04/2012 17:07:45
Quote Anchor link
`Forum_Reacties` veranderen in 'Forum_Reacties' die quotes worden niet geaccepteerd
 
Noppes Homeland

Noppes Homeland

23/04/2012 17:21:50
Quote Anchor link
@QS, als je niet van de hoed en de rand weet reageer dan niet.

Er horen helemaal geen quotes/backtics te staan rondom database-, tabel-, veldnamen.


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
$sql
= "UPDATE Forum_Reacties
        SET    Reactie = '"
.mysql_real_escape_string($reactieEdit)."'
        WHERE  ID = '"
.mysql_real_escape_string($_GET['íd'])."'";

if (($result = mysql_query($sql)) === false) {
   // foutafhandeling gedurende de testfase kan je doen:
   echo mysql_error().'<br />'.$sql;
}

?>
 
Jeroen VD

Jeroen VD

23/04/2012 17:25:38
Quote Anchor link
nou ja de backticks zouden mogen.... je moet alleen wel echt gaan nadenken over je database als je ze nodig hebt
 
Chris -

Chris -

23/04/2012 19:15:35
Quote Anchor link
@noppes, let erop dat het $_GET['id'] moet zijn en niet $_GET['íd'], waarschijnlijk door het typen haha.
 



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.