使用sqlsrv_query命令时,我可以从MSSQL服务器请求数据。 这有效 但是!
当我想添加数据时,它会返回错误[error:array]。
我用的代码是:
$tsql= "INSERT INTO dbo.VERLOF_events (id,
username,
soort,
afdeling,
description,
evdate,
trdate)
VALUES
(?, ?, ?, ?, ?, ?, ?)";
$var = array('', $username, $soort, $afdeling, $description, $evdate, $trdate);
if (!sqlsrv_query($conn, $tsql, $var))
{
die('Error: ' . sqlsrv_errors());
}
echo "1 record added";
数组值在POST语句中设置。
$afdeling = $row['Afdeling'];
$submit = @$_POST['submit'];
$description = @$_POST["description"];
$evdate = @$_POST["evdate"];
$trdate = @$_POST["trdate"];
$username = @$_SESSION['username'];
$soort = @$_POST['Dagen'];
为什么会返回数组错误? 我查了一下但找不到问题返回错误。
感谢任何帮助!
答案 0 :(得分:5)
问题可能是您尝试在id字段中添加空值。如果您使用自动编号在其上设置标识,则无需将其包含在查询中:
$tsql= "INSERT INTO dbo.VERLOF_events (
username,
soort,
afdeling,
description,
evdate,
trdate)
VALUES
(?, ?, ?, ?, ?, ?)";
$var = array($username, $soort, $afdeling, $description, $evdate, $trdate);
if (!sqlsrv_query($conn, $tsql, $var))
{
die('Error: ' . sqlsrv_errors());
}
echo "1 record added";