Icon edb_locate

Locates a row in a cursor.

Syntax
edb_locate(<CursorHandle>, <SearchValues>,
          [<CaseInsSearch> [, <PartialSearch>]])

<CursorHandle> =

Handle of cursor returned by edb_execute function

<SearchValues> = Associative array of column names and values

<CaseInsSearch> = Perform a case-insensitive search
(STRING values only)

<PartialSearch> = Perform a partial search on the last
search value (STRING values only)

Returns
TRUE if successful, or FALSE if there are any errors

Usage
The edb_locate function performs a free-form search of a cursor dataset, using the input associative array to determine which columns (and their values) to search on. The case-insensitive parameter will allow for a case-insensitive search (STRING values only), and the partial search parameter will cause the engine to perform a partial-length search on the last provided search value (STRING values only).

If an index exists that matches the columns being searched on, as well as the case-insensitive flag, matched on case-insensitive (CI) flag of indexed column collation, then the index will be used to optimize the search. If no matching index exists, then a scan of all of the cursor rows will take place instead.

Warning If the cursor state, retrievable via the edb_state function, is an insert state (EDB_INSERT_STATE) or update state (EDB_UPDATE_STATE), then this function will cause an automatic call to the edb_post function in order to force the cursor into a browse state (EDB_BROWSE_STATE).

<?php

// The following script connects to an ElevateDB
// Server and database, prepares and executes a
// direct table open, and then performs a case-insensitive,
// partial-length locate using the edb_locate()
// function

$con = edb_connect("type=remote;charset=Ansi;address=127.0.0.1;"+
                   "uid=Administrator;pwd=EDBDefault;database=Test");
if (!$con)
  {
  die("Could not connect: " . edb_errmsg());
  }

$cmd = edb_prepare($con,"customer",EDB_COMMAND_TABLE);
$cursor = edb_execute($cmd);

if (edb_locate($cursor,array("State"=>"FL"),FALSE))
{
  echo "Row found";
}
else
{
  echo "Row not found";
}

edb_disconnect($con);
?>
Image