Php Trackvia忽略包含撇号的记录

Php Trackvia忽略包含撇号的记录,php,Php,两者 及 无法解决我的问题,请使用“撇号” 我有一个“CUSTOMER”字段,它是一个链接字段下拉列表,这意味着该字段中的值来自另一个表。为了在此字段中添加/选择客户\账单\名称等效项,您需要有准确的匹配记录,这意味着客户必须与客户\账单\名称的值完全相等 但是,当客户账单名称包含“撇号”时,我遇到了一个问题,例如XXX'S LLC 我尝试了var_dump,print_r来查看数据的外观,但我看不出任何问题。问题是,当尝试输入记录时,它没有,我尝试发送一个数组,但没有输出Customer_Bi

两者

无法解决我的问题,请使用“撇号”

我有一个“CUSTOMER”字段,它是一个链接字段下拉列表,这意味着该字段中的值来自另一个表。为了在此字段中添加/选择客户\账单\名称等效项,您需要有准确的匹配记录,这意味着客户必须与客户\账单\名称的值完全相等

但是,当客户账单名称包含“撇号”时,我遇到了一个问题,例如XXX'S LLC

我尝试了var_dump,print_r来查看数据的外观,但我看不出任何问题。问题是,当尝试输入记录时,它没有,我尝试发送一个数组,但没有输出Customer_Bill_name

$records

 'CUSTOMER' => mysqli_real_escape_string($con, $tmpArray['Customer_Bill_Name']), 
//addRecord函数

     $records=array(
      'CUSTOMER' => mysql_escape_string($tmpArray['Customer_Bill_Name']),
      'WHEEL PN 1-S' => htmlspecialchars($wheelpn, ENT_QUOTES),
      'QUANTITY'          => htmlspecialchars($tmpArray['Quantity'], ENT_QUOTES),
      'SO DATE'          =>htmlspecialchars($tmpArray['TransactionDate'], ENT_QUOTES),
      'SO NUMBER'         => htmlspecialchars($tmpArray['Reference'], ENT_QUOTES),
       'CUSTOMER PN' => htmlspecialchars($tmpArray['PartNumber'], ENT_QUOTES),

      'SHIP VIA'         => htmlspecialchars($tmpArray['WhichShipVia'], ENT_QUOTES),
      'PROMISED DATE'         => htmlspecialchars($tmpArray['ShipByDate'], ENT_QUOTES),
      'COMMENTS'         => htmlspecialchars($tmpArray['Comment'], ENT_QUOTES),
      'PO #'         => htmlspecialchars($tmpArray['CustomerInvoiceNo'], ENT_QUOTES),   
      'WO Notes'         =>htmlspecialchars($tmpArray['SalesDescription'], ENT_QUOTES),
      'ROUTING'         =>htmlspecialchars($routing, ENT_QUOTES),


   );

$tv->addRecord($tableId, $records);
var\u dump$tableId,var\u dump$records,var\u dump$this->api…:

请帮忙,谢谢

问题在于mysqli\u real\u escape\u字符串。由于您使用外部API进行记录管理,我怀疑MySQL连接根本不存在

因此,您将坏数据发送到Trackvia API,该API返回空响应

解决方案是使用非MySQL库将数据解析/清理到API中。我建议str_替换API遇到问题的字符


htmlspecialchars不起作用,因为有了ENT_引号,像‘这样的字符将变成&39;并将成为。您认为它在var_dump时工作正常,因为HTML实体被渲染回引号。因此XXX的AG实际上被存储为XXX&39;s AG

可能是@Dagon OP的副本将其从地图上删除。然后有@Dagon收到了错误的建议mysqli\u real\u escape\u string$tmpArray['Customer\u Bill\u Name']显然是的,我们现在可以看到,但由于您没有提供代码,让我知道您刚才在使用什么,你真的浪费了别人的时间,让我们对围绕你整个问题的依赖图书馆一无所知。难怪没有人能帮助你。就这点而言,该库中的最新提交已经有2年了——我想知道Trackvia是否从那时起改变了他们的API。谢谢!这是正确的吗?str_replace',$tmpArray['Customer_Bill_Name']?@Hulu你有没有试着让$tmpArray['Customer_Bill_Name']单独呆着?我不知道Trackvia在寻找什么。这是非常不明智的支持。str_replace',$tmpArray['Customer_Bill_Name']错误。如果是转义的常规约定,请使用str_replace'、\\'、$tmpArray['Customer\u Bill\u Name']var\u dump$tableId、var\u dump$records、var\u dump$this->api…:输出在$tmpArray['Customer\u Bill\u Name']、htmlspecialchars、Mysqli\u情况下工作,但我不会将记录添加到表中。正如我在问题中所提到的,为了将记录添加到Trackvia中,您需要有链接记录的精确匹配记录fields@Hulu抱歉-关于环境的信息不够,Trackvia上的文档也很少。此对话可能应该保存给Trackvia支持和付费开发人员。
     $records=array(
      'CUSTOMER' => mysql_escape_string($tmpArray['Customer_Bill_Name']),
      'WHEEL PN 1-S' => htmlspecialchars($wheelpn, ENT_QUOTES),
      'QUANTITY'          => htmlspecialchars($tmpArray['Quantity'], ENT_QUOTES),
      'SO DATE'          =>htmlspecialchars($tmpArray['TransactionDate'], ENT_QUOTES),
      'SO NUMBER'         => htmlspecialchars($tmpArray['Reference'], ENT_QUOTES),
       'CUSTOMER PN' => htmlspecialchars($tmpArray['PartNumber'], ENT_QUOTES),

      'SHIP VIA'         => htmlspecialchars($tmpArray['WhichShipVia'], ENT_QUOTES),
      'PROMISED DATE'         => htmlspecialchars($tmpArray['ShipByDate'], ENT_QUOTES),
      'COMMENTS'         => htmlspecialchars($tmpArray['Comment'], ENT_QUOTES),
      'PO #'         => htmlspecialchars($tmpArray['CustomerInvoiceNo'], ENT_QUOTES),   
      'WO Notes'         =>htmlspecialchars($tmpArray['SalesDescription'], ENT_QUOTES),
      'ROUTING'         =>htmlspecialchars($routing, ENT_QUOTES),


   );

$tv->addRecord($tableId, $records);
  /**
 * Add more than one record at once to a table. Batch inserts.
 * 
 * @param  int   $tableId
 * @param  array $records
 * @return array
 */
 public function addRecords($tableId, $records)
   {
     $url = self::BASE_URL . self::RECORDS_URL;
     $data = array(
     'table_id' => $tableId,
     'records' => $records
    );
    return $this->api($url, 'POST', json_encode($data), 'json');
    }
    int(45454270957) array(12) { 
             ["CUSTOMER"]=> NULL 
             ["WHEEL PN 1-S"]=> string(0) "" 
             ["QUANTITY"]=> string(21) "2.0000000000000000000" 
             ["SO DATE"]=> string(10) "2010-12-02" 
             ["SO NUMBER"]=> string(5) "655028" 
             ["CUSTOMER PN"]=> string(0) "" 
             ["SHIP VIA"]=> string(3) "DHL" 
             ["PROMISED DATE"]=> string(10) "2014-12-23" 
             ["COMMENTS"]=> string(0) "" 
             ["PO #"]=> string(4) "98430" 
             ["WO Notes"]=> string(16) "sps990X15 8-8 JDY" 
             ["ROUTING"]=> string(0) "" } NULL