1

使用 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'];

为什么它返回数组错误?我查了一下,但找不到返回错误的问题。

任何帮助表示赞赏!

4

1 回答 1

6

问题可能是您试图在 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"; 
于 2013-06-17T13:08:29.923 回答