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 フィールドに空の値を追加しようとしている可能性があります。自動付番で 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 に答える