I'm trying to write to an existing record in FileMaker, using PHP.
I have tried the following to find and edit the record, but it simply doesn't write the new data:
$fm_ = new FileMaker(FM_FILE, FM_HOST, FM_USER, FM_PASS);
$request = $fm->newFindCommand('INFO');
$request->addFindCriterion('ID', '==' . $_SESSION['on']);
result = $request->execute();
$records = result->getRecords();
foreach($records as $record) {
$record->setField('Confirm', $_SESSION['confirm']);
$result = $record->commit();
}
Any idea why this isn't writing?
You need to make a newEditCommand and execute that. This would probably work:
$fm_ = new FileMaker(FM_FILE, FM_HOST, FM_USER, FM_PASS);
$request = $fm->newFindCommand('INFO');
$request->addFindCriterion('ID', '==' . $_SESSION['on']);
result = $request->execute();
$records = result->getRecords();
foreach($records as $record) {
$editRequest =& $fm->newEditCommand('INFO', $record->getRecordId() );
$editRequest->setField('Confirm',$_SESSION['confirm']);
$result = $editRequest->execute();
if (FileMaker::isError($result)) {
echo "<p>Error: " . $result->getMessage() . "<p>";
}
}