query werkt niet meer sinds PHP/MySQL 5

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Thomas M

Thomas M

01/08/2006 17:01:00
Quote Anchor link
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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?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?
Gewijzigd op 01/01/1970 01:00:00 door Thomas M
 
PHP hulp

PHP hulp

17/11/2024 15:43:25
 
Bart van der veen

bart van der veen

01/08/2006 17:06:00
Quote Anchor link
ff uit mijn hoofd:

er bestaat iest met een uitzonderingsregel html special caracter eod.

of met stringreplace ' vervangen door &nogwat
 
Thomas M

Thomas M

01/08/2006 17:20:00
Quote Anchor link
Ik heb er nu dit van gemaakt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?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?
 
Bo az

Bo az

01/08/2006 17:24:00
Quote Anchor link
mysql_real_escape_string()

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.
Gewijzigd op 01/01/1970 01:00:00 door Bo az
 
Thomas M

Thomas M

01/08/2006 17:28:00
Quote Anchor link
Dat werkt wel, bedankt :)
 
- wes  -

- wes -

01/08/2006 17:36:00
Quote Anchor link
of addslashes/stripslashes
 



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.