gpt4 book ai didi

php - 如何通过 PHPcurl 向 Neo4j 的 REST API 执行此密码查询(其 JSON)?

转载 作者:行者123 更新时间:2023-12-03 09:25:39 26 4
gpt4 key购买 nike

我正在使用 PHP curl 通过 REST API 访问 Neo4j,但我遇到了一个挫折:如何使用 curl 发布 cypher 查询?请注意,它已经在 J​​SON(密码查询)中,要对其进行解码,我必须将其分配给 PHP 变量,但我不能这样做,因为 PHP 不允许这样做。我已经尝试将查询存储在 MySQL 单元中,然后对其进行编码,但没有得到任何响应。
PS//我是 Neo4j 新手。

密码查询:

POST http://localhost:7474/db/data/cypher
Accept: application/json; charset=UTF-8
Content-Type: application/json
{
"query" : "MATCH (x {name: {startName}})-[r]-(friend) WHERE friend.name = {name} RETURN TYPE(r)",
"params" : {
"startName" : "I",
"name" : "you"
}
}

这是我的代码:

 <?php
$con=mysqli_connect('localhost','root','','test');
$sql="select * from json where id=1";
$result=mysqli_query($con,$sql);
$result=mysqli_fetch_assoc($result);
json_decode($result[json]);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'http://localhost:7474/db/data/');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($curl, CURLOPT_POSTFIELDS,$result[json]);
curl_setopt($curl,CURLOPT_HTTPHEADER,array('Accept: application/json; charset=UTF-8'));
curl_setopt($curl,CURLOPT_HTTPHEADER,array('Content-Type: application/json'));
curl_setopt($curl,CURLOPT_HTTPHEADER,array('X-Stream: true'));
$result1 = curl_exec($curl);
curl_close($curl);

更新:我终于通过手动解码 php 数组的密码查询来让它工作经过令人沮丧的几个小时后,我终于让它开始工作了。它在手动将 neo4j 文档中的密码查询更改为 php 数组然后再次编码后起作用。这是代码: "MATCH (x {name: {startName}})-[r]-(friend) WHEREfriend.name = {name} RETURN TYPE(r)", “参数”=>数组( “开始名称”=>“我”, “名字”=>“你” ) );

    $data=json_encode($data);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'http://localhost:7474/db/data/cypher/');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl,CURLOPT_HTTPHEADER,array('Accept: application/json; charset=UTF-8','Content-Type: application/json','Content-Length: ' . strlen($data),'X-Stream: true'));
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($curl, CURLOPT_POSTFIELDS,$data);
$result1 = curl_exec($curl);
echo $result1;
curl_close($curl);

最佳答案

免责声明:我从未使用过 PHP,所以我无法对 PHP cURL 说任何话。

在 unix shell 级别,我使用curl 来发送如下所示的密码语句:

curl <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="cfe2ab8fbebaaabdb6e1a5bca0a1" rel="noreferrer noopener nofollow">[email protected]</a> -H accept: applicaton/json -H X-Stream:true -H content-type:application/json http://localhost:7474/db/data/cypher

我假设您的代码片段中的 URL 不正确,您必须修改 URL 末尾的 cypher 。要调试通过线路发送的内容,我建议在两者之间使用代理,例如charles .

关于php - 如何通过 PHPcurl 向 Neo4j 的 REST API 执行此密码查询(其 JSON)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21874854/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com