首页 > 解决方案 > 在 PHP 中获取单个 FileMaker 记录 ID

问题描述

我正在尝试使用 PHP 写入 FileMaker 中的现有记录。

我尝试了以下方法来查找和编辑记录,但它根本不写入新数据:

$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();
}

知道为什么这不是写吗?

标签: phpfilemaker

解决方案


您需要创建一个 newEditCommand 并执行它。这可能会起作用:

$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>";
    }
}

推荐阅读