Hallo, omdat ik teksten vanuit tinymce naar de database wil schrijven wil ik mysql_real_escape_string gebruiken. Maar het inzetten lukt me niet.

Dit is een stukje code :
<? 
 $query = "UPDATE content SET titel_nl='$titel_nl', bericht_nl='$bericht_nl', 
titel_eng='$titel_eng', bericht_eng='$bericht_eng' WHERE id = '$id'";  


  
      mysql_query($query) or die (mysql_error());   

?>


Ik heb dit nu maar dat werkt niet:
<? 
      $query = "UPDATE content SET titel_nl='$titel_nl', bericht_nl='$bericht_nl', 
titel_eng='$titel_eng', bericht_eng='$bericht_eng' WHERE id = '$id' 

VALUES ('".mysql_real_escape_string($titel_nl)."', 
         '".mysql_real_escape_string($bericht_nl)."',
         '".mysql_real_escape_string($titel_eng)."',
         '".mysql_real_escape_string($bericht_eng)."'
)";  
?>


wie weet wat er fout is? Ben zelf nog niet zo bekend met php
je haald nu updaten (UPDATE SET) en toevoegen (INSERT INTO VALUES) door elkaar
Values gebruik je bij een insert statement... Lees dit eens door.
Maar het is voor de update van de database. Daar moet ik toch ook kunnen voorkomen dat bepaalde tekens die in tinymce worden gebruikt problemen opleveren?
idd die variabelen moet je dan telkens mysql_real_escape doen
Ik heb nu dit maar dat werkt ook al niet:

  <?php    $query = "UPDATE content SET titel_nl='$titel_nl', bericht_nl='$bericht_nl', 
titel_eng='$titel_eng', bericht_eng='$bericht_eng' WHERE id = '$id'

		 ('".mysql_real_escape_string($titel_nl)."', 
         '".mysql_real_escape_string($bericht_nl)."',
         '".mysql_real_escape_string($titel_eng)."',
         '".mysql_real_escape_string($bericht_eng)."'
) "


; ?>
Volgens mij lees je de opmerkingen niet eens...

$Query = "UPDATE tabel SET kolom1 = '".mysql_real_escape_string($waarde)."' WHERE id = 1234";
Ik snap het niet, ik heb nu alleen bericht_nl geprobeerd maar het wil me maar niet lukken:

<?php
  $query = "UPDATE content SET titel_nl='$titel_nl', bericht_nl='$bericht_nl', 
titel_eng='$titel_eng', bericht_eng='$bericht_eng' = '".mysql_real_escape_string($bericht_nl)."' WHERE id = '$id'";  
?>
Het moet zo:
<?php
$query = "UPDATE content SET titel_nl='".mysql_real_escape_string($titel_nl)."',
bericht_nl='".mysql_real_escape_string($bericht_nl)."',
titel_eng='".mysql_real_escape_string($titel_eng)."',
bericht_eng='".mysql_real_escape_string($bericht_eng)."'
WHERE id = '$id'";
?>

EDIT: Correctie op code.
Zo werkt het inderdaad. Ik ga het goed bekijken, ben nog helemaal niet zo goed met php maar ik wil het wel heel erg graag leren.
leer dan ook meteen om je variabelen buiten de qoutes te houden, dus:
<?php
$query = "UPDATE content SET titel_nl='".mysql_real_escape_string($titel_nl)."',
bericht_nl='".mysql_real_escape_string($bericht_nl)."',
titel_eng='".mysql_real_escape_string($titel_eng)."',
bericht_eng='".mysql_real_escape_string($bericht_eng)."'
WHERE id = ".$id;
?>
+ ik hoop dat je controle doet of $id wel een integer is? anders heb je een groot veiligheidslek.

Reageren