首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CartoDB - SQL Post请求与php

CartoDB - SQL Post请求与php
EN

Stack Overflow用户
提问于 2015-08-30 09:14:53
回答 1查看 606关注 0票数 1

在我的应用程序中,我想用我的php-脚本向我的cartodb表发送少量数据。我想使用SQL-API。我的应用程序以如下形式解析数据:

代码语言:javascript
复制
https://{account}.cartodb.com/api/v2/sql?q=INSERT INTO test_table (column_name, column_name_2, the_geom) VALUES ('this is a string', 11, ST_SetSRID(ST_Point(-110, 43),4326))&api_key={Your API key}

我尝试了几个函数http_get, file_get_contents, http_request,但没有将数据传递到我的帐户。当我复制/粘贴URL并在浏览器中打开时,添加所有内容。

什么是正确的功能?有很多不同的..。PHP函数

编辑

使用来自这个解决方案的代码,当我打印出响应时,我得到了这个错误:

代码语言:javascript
复制
{"error":["syntax error at end of input"]}

在浏览器中,我得到了以下内容:

代码语言:javascript
复制
{"rows":[],"time":0.038,"fields":{},"total_rows":1}

我现在的请求代码:

代码语言:javascript
复制
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $fullurl);
// Set so curl_exec returns the result instead of outputting it.
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Get the response and close the channel.
$response = curl_exec($ch);
curl_close($ch);
print($response);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-30 13:34:17

发现了结果:使用CURLOPT_POST => 1,它可以工作!

代码语言:javascript
复制
$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => "https://".$cartodb_key.".cartodb.com/api/v2/sql",
CURLOPT_USERAGENT => 'Sample cURL Request',
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => array(
    api_key => $api_key,
    q => "INSERT INTO spot (".implode (", ", array_keys($data)).") VALUES (".implode (", ", $data).")"
  )
));
$response = curl_exec($ch);
curl_close($ch);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32294989

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档