我正在开发一个Java桌面应用程序,它发送带有某些参数的HTTP POST请求,php脚本请求这些参数并将它们的值插入MS SQL Server数据库。
这是PHP脚本:
<?php
$id=$_REQUEST['id'];
$name=$_REQUEST['name'];
$gender=$_REQUEST['gender'];
$dob=$_REQUEST['dob'];
$serverName = "local";
$connectionInfo = array("Database"=>"myDB","UID" => "sa","PWD" => "sa");
$conn = sqlsrv_connect($serverName, $connectionInfo);
if( $conn )
{
echo "Connection established.\n";
}
else
{
echo "Connection could not be established.\n";
die( print_r( sqlsrv_errors(), true));
}
$sql= "INSERT INTO dbo.patientdata (id,name,gender,dob) VALUES (?,?,?,?)";
$var= array($id,$name,$gender,$dob);
if (!sqlsrv_query($conn,$sql,$var))
{
die('Error: ' . sqlsrv_errors());
}
echo "1 record added";
?>
在此过程中,&#34;数组到字符串转换错误&#34;发生。情节扭曲是:如果我在PHP脚本中定义变量而不是使用$ _REQUEST(例如:$ name =&#34; Jane&#34;而不是$ name = $ _ REQUEST [&#39; name&#39; ])错误没有发生,所以我想我没有正确地发送或请求参数。这是发送POST参数的示例。
id=9001&name="John"&gender=1&dob="1999-01-01"
任何人都可以帮助我吗?提前致谢。