仅当使用POST请求中的值时,PHP Array才能转换字符串错误

时间:2015-03-20 01:47:31

标签: php arrays post request

我正在开发一个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"

任何人都可以帮助我吗?提前致谢。

0 个答案:

没有答案