error in berichtensysteem
Ik heb een probleem dat jullie waarschijnlijk heel simpel weten op te lossen, ik heb namelijk volgende code:
Code (php)
1
2
3
4
5
6
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());
$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.
Gewijzigd op 11/10/2013 20:56:53 door Kristof Hendrickx
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
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
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
Hier heb ik het over, dat je er dubbele haakjes omzet die je zo direct in je query verwerkt.
Gewijzigd op 12/10/2013 11:46:11 door Kristof Hendrickx