Goedemorgen,

Mijn gastenboek geeft steeds een fout melding wanneer ik quotes in het bericht zet. Bijv. Halo dit is een 'mooie' website.. Als foutmelding krijg ik dan:

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 'mooie'', '05/08/2010')' at line 1.

De fout zou in dit stukje code moeten zitten, loop mij eigen echt blind te staren.
break; 
case 'complete':
if($_POST['submit']){
$name = strip_tags(stripslashes($_POST['name']));
$message = strip_tags(stripslashes(htmlspecialchars($_POST['message'])));
if($name == NULL OR $message == NULL){
$display .= "Please complete the form before hitting submit.";
}else{
$addmess = mysql_query("INSERT INTO `fv_guestbook` (`id` ,`postname` ,`postmessage` ,`postdate`)VALUES ('', '".$name."', '".$message."', '".$date."');") or die(mysql_error());
$display .= "Bedankt ".$name.", jouw bericht is geaccepteerd. <a href=\"http://www.dicolive.nl/pagina/gastenboek/\">Klik hier</a> om terug te keren";
}}
?>
echo de query eens,
$query = "SELECT id, postmessage, postname, postdate FROM fv_guestbook ORDER BY id DESC";
 $PagedQuery = new PagedQuery($query, $totalRows);
 $result = mysql_query($query);
ik bedoel, doe eens echo "INSERT INTO `fv_guestbook` (`id` ,`postname` ,`postmessage` ,`postdate`)VALUES ('', '".$name."', '".$message."', '".$date."';

als k je post lees dan lijkt het dat de query op regel 9 van je eerste post mis gaat, als je daar de mysql code van echo'd dan zie je precies wat hij probeerd te doen en kan je makkelijker zien waar het mis gaat.
Gebruik: mysql_real_escape_string — Escapes special characters in a string for use in an SQL statement
Ik heb het zo gedaan maar dan stuurt de pagina mij wel door (zonder foutmelding) alleen wordt uiteraard het bericht niet gepost.

echo ( "INSERT INTO `fv_guestbook` (`id` ,`postname` ,`postmessage` ,`postdate`)VALUES ('', '".$name."', '".$message."', '".$date."');")


Klik hier voor het GB

Het is eigenlijk veel simpeler. Kijk eens naar de functie [php]mysql_real_escape_string[php]
Bedankt voor jullie hulp, het werkt!
Heb strip_tags(stripslashes(htmlspecialchars vervangen door mysql_real_escape_string.

Reageren