halo allemaal,

sinds mijn hostingprovider is overgestapt op PHP 5 en MySQL 5 werkt een aantal queries in mijn scripts niet meer, een voorbeeld:

als ik de volgende zin wil toevoegen aan mijn database:
"Zaterdagavond geven zij een aantal van hun cd's weg."

en ik gebruik de volgende query:
<?php
if(!empty($_POST['titel']) AND !empty($_POST['bericht'])) {
		    $ins = "INSERT INTO nieuws (id, datum, titel, bericht) VALUES ('', '".date("d-m-Y H:i")."', '".$_POST['titel']."', '".$_POST['bericht']."')";
			$inst = mysql_query($ins) or die( mysql_error());
			echo "<script type=\"text/javascript\">alert(\"Het nieuwsbericht is succesvol toegevoegd.\");</script>";
	        echo "<meta http-equiv=\"refresh\" content=\"0;URL=nieuws.php\">";
		 }
?>


dan wordt het bericht niet in de DB gezet en krijg ik de 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 's weg.')' at line 1

hij blijft dus hangen op de apostrof-s, weet iemand hoe ik dit probleem op kan lossen?
ff uit mijn hoofd:

er bestaat iest met een uitzonderingsregel html special caracter eod.

of met stringreplace ' vervangen door &nogwat
Ik heb er nu dit van gemaakt:

<?php
if(!empty($_POST['titel']) AND !empty($_POST['bericht'])) {
            $ins = "INSERT INTO nieuws (id, datum, titel, bericht) VALUES ('', '".date("d-m-Y H:i")."', '".$_POST['titel']."', '".htmlspecialchars($_POST['bericht'])."')";
            $inst = mysql_query($ins) or die( mysql_error());
            echo "<script type=\"text/javascript\">alert(\"Het nieuwsbericht is succesvol toegevoegd.\");</script>";
            echo "<meta http-equiv=\"refresh\" content=\"0;URL=nieuws.php\">";
         }
?> 


maar ik krijg nog steeds dezelfde foutmelding.
Iemand andere suggesties?
[php]mysql_real_escape_string[/php]()

[edit]htmlspecialchars() zal nooit voldoen, omdat deze niet alle html tekens omvormt, daarvoor gebruik je htmlentites, maar dan nog worden de quotes niet omgezet, daarvoor moet je ENT_QUOTES als 2e parameter opgeven.[/edit]
Dat werkt wel, bedankt :)
of addslashes/stripslashes

Reageren