Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在SQL数据库上载中运行API_Php_Sql_Api - Fatal编程技术网

Php 在SQL数据库上载中运行API

Php 在SQL数据库上载中运行API,php,sql,api,Php,Sql,Api,我有一个API来为站点执行操作 /api/api.php?api=server&ver=1.0&key=**&cmd=ADD_OBJECT,862011228001930 API工作并完成它需要做的事情。API信息是从我的表单中填充的。表单还需要使用SQL将信息上传到MYSQL数据库 我有以下SQL $sql = "INSERT INTO tracking_units SET status = 'Tech',

我有一个API来为站点执行操作

/api/api.php?api=server&ver=1.0&key=**&cmd=ADD_OBJECT,862011228001930
API工作并完成它需要做的事情。API信息是从我的表单中填充的。表单还需要使用SQL将信息上传到MYSQL数据库

我有以下SQL

$sql = "INSERT INTO tracking_units SET
                status = 'Tech',
                unit_nr = '".$unit_nr."',
                imei = '".$imei."',
                sysdate = '".$date."',              
                systime = '".$time."',
                controller = '".$slname."',
                branch = 'JHB',
                client = 'eTrack'";

if ($conn->query($sql) === TRUE)
{$last_id = mysqli_insert_id($conn); //Retrieve the last ID of the record
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}
header("Location: http://***/api/api.php?api=server&ver=1.0&key=***&cmd=ADD_OBJECT,$imei");
$sql=“插入跟踪单元集”
状态=‘技术’,
单位数量=“$单位数量。”,
imei=“$imei.”,
sysdate=“$date.”,
systime=“$time.”,
控制器=“$slname.”,
分支机构='JHB',
客户端='eTrack';
if($conn->query($sql)==TRUE)
{$last\u id=mysqli\u insert\u id($conn);//检索记录的最后一个id
}否则{
echo“Error:”.$sql.“
”$conn->Error; } 标题(“位置:http://***/api/api.php?api=server&ver=1.0&key=***&cmd=ADD_OBJECT,$imei”);
上面的工作原理是头部运行API,但是一旦API完成,我想将页面重定向到另一个html页面。如果我运行header命令,这是否可能


我对API非常陌生,不知道如何在SQL命令后运行API,然后使用标题转移到另一个页面

我发现这是可行的

$ch = curl_init("http://***/api/api.php?api=server&ver=1.0&key=***&cmd=ADD_OBJECT,$imei,$unit_nr,false,2021-01-01");

curl_exec($ch);
if (curl_error($ch)) {
    fwrite($ch, curl_error($ch));
}
curl_close($ch);
fclose($ch);

1.您可以使用该SQL进行SQL注入,请使用prepared语句。2.是的,您可以将请求重定向到另一个URL
header('Location:'。$newUrl)。如果在else语句中有任何输出-
echo
,则无法使用3个标题。但是,为什么要重定向到API?似乎您应该使用cURL来执行该请求,然后再重定向。我当前正在使用标头来执行API,但一旦执行,它将停留在空白页上,在API完成后,我需要将该页重定向到另一页。有没有一种方法可以在SQL查询之后立即执行API,然后使用标题来转移页面?@El_Vanja这是我认为我可以运行API的唯一方法,因为在这对我来说是新的之前,我从未使用过API。我需要的主要最终结果是更新数据库并运行API,然后转到另一个页面如果您自己已经找到了解决方案,请从您的问题中删除工作代码,并将其作为答案发布(您可以回答自己的问题)并接受它。这样,过滤器将正常工作,如果您将解决方案编辑到问题中,那么它仍然被认为是未回答的。