0

我需要编辑一些不是我编写的 PHP,我已经完成了大部分工作,但有一点我无法弄清楚正确的语法。

基本上,我们从 Google Fusion Table 中获取数据并用它填充表格,一旦我们编辑了表格中的数据,我们就可以将该信息更新到同一表格的生产版本。更新查询之一如下所示:

if($table_row[12]=="New"){
  $tableid1 = '1bsSleKDBdkhQZfn-oADx0tUtoOc32RqIyiX05Bo';
 $insertresults = $ftclient->query(SQLBuilder::insert($tableid1, 
    array('SUBURB'=> $table_row[1],
    'ROAD_NAME' => $table_row[2],
    'DESCRIPTION' => $table_row[3],
    'DIRECTION' => $table_row[4],
    'STATUS' => $table_row[5],
    'SITE_ID' => $table_row[6],
    'COMMON_NAME' => $table_row[7],
    'Lat' => $table_row[8],
    'Long' => $table_row[9],
        'OPERATING_DAY' => $table_row[10],
    'OPERATING_HOURS' => $table_row[11],
    'Version' => "current")));
  $insertresults = explode("\n", $insertresults);
  $rowid1 = $insertresults[1];
     $updateresults = $ftclient->query(SQLBuilder::update($tableid, 
    array('SUBURB'=> $table_row[1],
    'ROAD_NAME' => $table_row[2],
    'DESCRIPTION' => $table_row[3],
    'DIRECTION' => $table_row[4],
    'STATUS' => $table_row[5],
    'SITE_ID' => $table_row[6],
    'COMMON_NAME' => $table_row[7],
    'Lat' => $table_row[8],
    'Long' => $table_row[9],
        'OPERATING_DAY' => $table_row[10],
    'OPERATING_HOURS' => $table_row[11],
    'Version' => "current",
    'Edited_By' => $table_row[13],
    'Date_Edited' => $table_row[14]),$table_row[0]));
  $updateresults = explode("\n", $updateresults);
  $rowid2 = $updateresults[1]; 
  }

我需要做的是编写一个类似类型的 SQLBuilder 查询,当 SUBURB 在其中一个中更改时,它将更新具有相同 SITE_ID 的每条记录(即,如果一条记录具有 SUBURB Sydney,SITE_ID 1,则每条具有 SITE_ID 1 的记录必须是如果一条记录的 SUBURB 值从悉尼更改为墨尔本,则更改)。不确定如何在语法上表达这一点,或者我将如何使用 SQLBuilder 编写查询。任何帮助将不胜感激!

4

1 回答 1

0

SQLBuilder 显然是一个本地包含的类。您需要查看它的文档或更新方法本身,以了解它如何期望 where 子句被编码。

用于此的 SQL 将是:

"UPDATE tableid SET SUBURB = '{$table_row[1]}' WHERE SITE_ID = '{$table_row[6]}'"

如果您能够运行纯 SQL,那么就可以了。否则我需要查看类库。

于 2013-03-07T00:20:55.207 回答