Hallo,

Ik ben niet zo sterk in php, maar ben toch tot het volgende gekomen,

// Row Inserted event
function Row_Inserted($rsold, &$rsnew) {

//echo "Row Inserted"
$rsnew['Rijksregisternummer'];
$rsnew['auteur'];
$rsnew['datum'];
$rsnew['beschrijving'];
$MyResult = ew_Execute("INSERT INTO `alles` (`Rijksregisternummer`,`auteur`,`datum`,`beschrijving`) VALUES ('".$rsnew['Rijksregisternummer']."','".$rsnew['auteur']."','".$rsnew['datum']."','".$rsnew['beschrijving']."')");
}

Deze functie gaat een aangemaakt record in een andere tabel (alles) invoegen. Dit werkt goed, tot er een tekst met een ' teken in het veld beschrijving komt.

Waarschijnlijk iets met de string van ['beschrijving'].

Heeft er iemand een idee?
Heel erg bedankt.
<?php

// Row Inserted event
function Row_Inserted($rsold, &$rsnew) {

//echo "Row Inserted"
$rsnew['Rijksregisternummer'];
$rsnew['auteur'];
$rsnew['datum'];
$rsnew['beschrijving'];
$MyResult = ew_Execute("INSERT INTO `alles` (`Rijksregisternummer`,`auteur`,`datum`,`beschrijving`) VALUES ('".mysql_real_escape_string($rsnew['Rijksregisternummer'])."','".mysql_real_escape_string($rsnew['auteur'])."','".mysql_real_escape_string($rsnew['datum'])."','".mysql_real_escape_string($rsnew['beschrijving'])."')");
}

?>
Allereerst even je code fatsoeneren:

<?php

// Row Inserted event
function Row_Inserted($rsold, &$rsnew)
{
$sql = "INSERT INTO alles
(
Rijksregisternummer,
auteur,
datum,
beschrijving
) VALUES (
'" . $rsnew['Rijksregisternummer'] . "',
'" . $rsnew['auteur'] . "',
'" . $rsnew['datum'] . "',
'" . $rsnew['beschrijving'] . "'
)";

$MyResult = ew_Execute($sql);
}
?>

Dan zie je dus dat je $rsold niet gebruikt.
Kieper die dan weg....

Dan ga je mysql_real_escape_string() gebruiken op de input.
En even de rest van de code werkend maken.
Wellicht een return in je functie?

<?php

// Row Inserted event
function Row_Inserted(&$rsnew = array() )
{
// controle of de array wel gevuld is
if(count($rsnew) == 0 OR count($rsnew) != 4)
{
// als de array leeg is OF niet 4 velden bevat
return false;
}

// stel de query op
// uiteraard zonder backticks (de ` (naast de 1))
$sql = "INSERT INTO alles
(
Rijksregisternummer,
auteur,
datum,
beschrijving
) VALUES (
'" . mysql_real_escape_string($rsnew['Rijksregisternummer']) . "',
'" . mysql_real_escape_string($rsnew['auteur']) . "',
'" . mysql_real_escape_string($rsnew['datum']) . "',
'" . mysql_real_escape_string($rsnew['beschrijving']) . "'
)";

// uitvoeren van die sql;
$MyResult = ew_Execute($sql);

// moet je niets returnen?
return $MyResult;
}
?>

Ik test het en laat jullie iets weten.

Met vriendelijke groeten.

[size=xsmall]Toevoeging op 08/11/2012 22:16:03:[/size]

Hallo,

ik krijg een syntax fout op deze regel:

function Row_Inserted(&$rsnew = array() )

Reageren