抱歉,这是一个业余问题,但我不知道为什么这不起作用。 我有一个“add.php”来连接到 SQL 服务器
<?php
include("connect.php");
$link=Connection();
$ID1=$_POST["ID1"];
$ID2=$_POST["ID2"];
$ID3=$_POST["ID3"];
$ID4=$_POST["ID4"];
$ID5=$_POST["ID5"];
$query = "INSERT INTO Battery (ID01, ID02, ID03, ID04, ID05)
VALUES ('".$ID1."','".$ID2.",'".$ID3.",'".$ID4."','".$ID5."')";
mysql_query($query,$link);
mysql_close($link);
header("Location: index.php");
?>
我使用一个简单的 HTTP 1.1 协议(protocol)
GET /add.php?ID1=1int&ID2=2char&ID3=3char&ID4=4int&ID5=2015-04-13 01:00:00 HTTP/1.1\r\myhost\r\nContent-Type: application/x-www-form-urlencoded\r\nConnection:close\r\n\r\n\r\n
主机向我抛出这个错误:
+IPD,168:<html>
<head><title>400 Bad Request</title></head>
<body bgcolor="white">
<center><h1>400 Bad Request</h1></center>
<hr><center>hosting</center>
</body>
</html>
如果有人有任何想法让我试用,我将不胜感激!我真是一头雾水……
最佳答案
此处 PHP 代码在您进行 GET 调用时处理 POST 请求。尝试将 $_POST 更改为 $_GET,如下所示:
<?php
include("connect.php");
$link=Connection();
$ID1=$_GET["ID1"];
$ID2=$_GET["ID2"];
$ID3=$_GET["ID3"];
$ID4=$_GET["ID4"];
$ID5=$_GET["ID5"];
$query = "INSERT INTO Battery (ID01, ID02, ID03, ID04, ID05)
VALUES ('".$ID1."','".$ID2.",'".$ID3.",'".$ID4."','".$ID5."')";
mysql_query($query,$link);
mysql_close($link);
header("Location: index.php");
?>
如果您不想更改 PHP 代码,请向该文件发出 POST 请求。
编辑:
抱歉,我刚刚看到您使用的是 POST 请求。 Content-Type: application/x-www-form-urlencoded
。以上内容我还是会保留的。
请引用 this answer .
尝试通过 HTTP 请求通过 XML 传递数据,它会更加结构化和易于管理。
POST 方法
POST方法用于向服务器发送一些数据,例如文件更新、表单数据等。下面的例子利用POST方法向服务器发送一个表单数据,将是由一个process.cgi处理,最后返回一个response:
POST /cgi-bin/process.cgi HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.domain.com/add.php
Content-Type: text/xml; charset=utf-8
Content-Length: <!-- The Content Length -->
Accept-Language: en-us
Accept-Encoding: gzip, deflate <!-- optional -->
Connection: Keep-Alive
<?xml version="1.0" encoding="utf-8"?>
<DATA>
<ID>ID01</ID>
<ID>ID02</ID>
<ID>ID03</ID>
<ID>ID04</ID>
<ID>ID05</ID>
</DATA>
也许您需要根据您的需要或数据格式更改 XML。
希望这有助于...
关于php - 带 HTTP1.1 的 SQL 插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29783151/