【发布时间】:2017-04-10 08:43:04
【问题描述】:
我一直在研究 Quickbooks PHP API,我想从 Quickbooks 中获取数据并使用 PHP 脚本保存在 MYSQL 中。
我已经成功地将 Quickbooks 与 PHP 连接起来,并且我已经完成了查询以获取数据。
$Products = $ProductsService->query($Context, $realm, "SELECT * FROM item ");
foreach ($Products as $Product)
{
//First, we will retrieve the ID, and strip out any spaces/characters.
$id = $Product->getId();
$ProductID = preg_replace("/[^0-9]/","",$id);
echo('Customer Id=' . $ProductID. '<br>');
//// test for product name
if(!empty($Product->getName())){
$ProductName = $Product->getName();
} else {
$ProductName= '';
}
//Insert customer into product tables
$sql = "INSERT INTO products (ProductID__kp, ProductName)
VALUES ('".$ProductID."',
'".$ProductName."'
)
ON DUPLICATE KEY
UPDATE ProductName = '".$ProductName."' ";
$conn->query($sql);
}
上述脚本成功运行并以数组形式返回结果。
问题是插入语句。我在快速手册中有 1579 种产品。但是当我运行上面的脚本时,MYSQL 数据库中只保存了 97 条记录。
我不知道为什么它只节省了 1579 个中的 97 个。
提前致谢。
【问题讨论】:
-
您为什么发布代码/响应的屏幕截图而不是实际的代码/响应?您正在积极地让我们更难以回答,通过截取响应而不是仅仅复制/粘贴。你也在为自己做额外的工作。为什么?
标签: php mysql foreach sql-insert quickbooks-online