我需要帮助将PHP与SQL Server连接起来,还是试图将水和油混合在一起?我在https://docs.microsoft.com/en-us/sql/connect/php/how-to-retrieve-output-parameters-using-the-sqlsrv-driver
中发表评论使用此代码(URL)我收到此错误:
变量参数2未通过引用传递(以&开头)。传递给sqlsrv_prepare或sqlsrv_query的输出或双向变量参数(SQLSRV_PARAM_OUT和SQLSRV_PARAM_INOUT)应通过引用传递,而不是通过值传递
如果我使用
$params = array(
array($lastName, SQLSRV_PARAM_IN), array(&$salesYTD, SQLSRV_PARAM_OUT) );
echo $salesYTD;
显示的值是一个长文本(所有PHP代码)
答案 0 :(得分:0)
在考虑了这个问题之后,我猜你的代码是正确的&。
我认为您在查询中使用之前没有初始化变量。 像这样初始化它:
<?php
$data = json_decode(file_get_contents('php://input'), true);
if (!empty($data)):
header('Content-Type:text/plain');
function db_connect()
{
...
}
function db_query($query)
{
...
}
$arraykey = array_keys($data);
$array = $data[$arraykey[0]];
try {
....
echo 'Data Successfully inserted!!<br />';
....
}
catch (PDOException $e) {
echo $e->getMessage();
}
endif;
?>
这将PHP中的内部数据类型设置为float。
或
您需要在查询中指定PHP类型: https://docs.microsoft.com/en-us/sql/connect/php/how-to-specify-php-data-types