error in berichtensysteem

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Kristof Hendrickx

Kristof Hendrickx

11/10/2013 20:46:31
Quote Anchor link
Hallo,
Ik heb een probleem dat jullie waarschijnlijk heel simpel weten op te lossen, ik heb namelijk volgende code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
$sql = 'SELECT bericht FROM pb WHERE PID="'.$_GET['id'].'"';
                        $resultaat = mysql_query($sql) OR die('Er liep iets fout, blijft dit voorkomen? Neem dan contact op met ons.');
                        $bericht = mysql_result($resultaat, 0);
                        $bericht = '"'.$_POST['content'].'" <br /><hr><br /> <center><b>"'.$gebruiker.'"</b></center> <br /> "'.$bericht.'"';
                        $sql = 'INSERT INTO pb(van, voor, titel, bericht, datum) VALUES ("'.$gebruikersnaam.'", "'.$gebruiker.'", "'.$bericht.'", NOW())';
                        $resultaat = mysql_query($sql) OR die('Er liep iets fout, blijft dit voorkomen? Neem dan contact op met ons.<br />'.mysql_error());


Echter loopt hij vast op de laatste query met volgende error:
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 'test"

"kristof"

"te tete tete te' at line 1

Waarbij dit de waarden zijn:
$bericht = te tete tete tete tete tete tete tete tete tete tete tete tete tete tete tete tete tete tete te
(dit is vlak na de uitvoering van de query het resultaat, zoals je ziet een simpel testbericht dat in de database staat)
$_POST['content'] = test
$gebruiker = kristof
$gebruikersnaam = kristof
(om te testen zend ik een bericht met zender en ontvanger hetzelfde)
Ik hoop dat ik jullie genoeg informatie geef.

Ik weet dat or die geen goede foutafhandeling is, maar het is uiteraard niet eens de bedoeling dat er fouten in het script kunnen voorkomen waarbij later foutafhandeling overbodig zou zijn.

Ook weet ik dat mysqli de momentele goede mysql is, maar zoals je ziet gebruik ik nog steeds liever mysql, neem het als een eigen smaak.
Uiteraard, indien 1 van de 2 punten hierboven vermeld het probleem kunnen oplossen (wat ik betwijfel) ben ik wel bereid dit aan te passen.
 
PHP hulp

PHP hulp

06/10/2024 15:22:54
 
Frank Nietbelangrijk

Frank Nietbelangrijk

11/10/2013 20:51:28
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php

// draai ' en " eens om :-)
$sql = "SELECT bericht FROM pb WHERE PID='".$_GET['id']."'";
?>
 
Kristof Hendrickx

Kristof Hendrickx

11/10/2013 20:54:36
Quote Anchor link
Helpt niet :(
Gewijzigd op 11/10/2013 20:56:53 door Kristof Hendrickx
 
Frank Nietbelangrijk

Frank Nietbelangrijk

11/10/2013 20:57:20
Quote Anchor link
De tweede ook inderdaad. Mysql wil string- en datum variabelen graag tussen single quotes zien

Toevoeging op 11/10/2013 21:05:33:

INSERT INTO pb(van, voor, titel, bericht, datum) dat zijn vijf velden. en je geeft maar vier waarden
 
Dennis WhoCares

Dennis WhoCares

11/10/2013 21:35:54
Quote Anchor link
Ehm, eerlijk gezegt denk ik ook dat het probleem in je $bericht staat en je mist 1 waarde om in te vullen, zoals Frank al zegt, maar dat zal niet de reden zijn van de error die je op dit moment krijgt.

Je hebt " " in het bericht, deze zullen voor problemen zorgen in je insert query.
ik zou deze of weg laten, of omzetten naar ascii code zodat deze geen problemen kan veroorzaken met je query's
 
Kristof Hendrickx

Kristof Hendrickx

11/10/2013 22:40:40
Quote Anchor link
he, goed punt, ik heb gewoon het veld titel vergeten xd

Die dubbele haakjes zitten normaal niet in het bericht dacht ik, even kijken ;)

Ik had daarstraks iets aangepast waardoor ik inderdaad een andere error kreeg die ging over het veld te weinig, terug uitzoeken wat k daar aangepast had, want dat zou betekenen dat daarmee alles wel opgelost was.

Ik heb het probleem gevonden, de " was overal overbodig xd
Gewijzigd op 11/10/2013 22:46:25 door Kristof Hendrickx
 
Dennis WhoCares

Dennis WhoCares

11/10/2013 22:45:28
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$bericht = '"'.$_POST['content'].'" ..........


Hier heb ik het over, dat je er dubbele haakjes omzet die je zo direct in je query verwerkt.
 
Kristof Hendrickx

Kristof Hendrickx

11/10/2013 22:47:07
Quote Anchor link
excuses, ik las het bericht even verkeerd, dat was inderdaad mijn fout ;)
Gewijzigd op 12/10/2013 11:46:11 door Kristof Hendrickx
 



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.