Может кто-нибудь помочь, пожалуйста? Я получаю соединение с БД и могу получить данные и «сообщение», единственная точка останова - запись ContactID, которая является основной и обязательной. Я считаю, что это как-то связано с моей строкой таблицы Alter, я просто не знаю, где.
Вот сценарий:
- Форма написана на php.
- Форма публикует данные в MSSQL 2005
- ContactID не может быть нулевым и должен назначаться автоматически.
- При отправке я получаю исключение: Строка или двоичные данные будут
усеченный. Заявление было прекращено.
Вот код php:
if(isset($_GET['action']))
{
if($_GET['action'] == 'add')
{
// this is where inserting data beggins
$insertSql = "INSERT INTO sys.CONTACT (LASTNAME, FIRSTNAME, EMAIL)
VALUES (?,?,?)";
$params = array(("Alter table sys.CONTACT add ProgramID int IDENTITY(9000001,1) NOT NULL, CONTACTID AS ('CCRMS'+CONVERT(varchar(7),ProgramID,(0)))"),
&$_POST['lastName'],
&$_POST['firstName'],
&$_POST['emailAddress']);
$stmt = sqlsrv_query($conn, $insertSql, $params);
if($stmt === false)
{/*Handle the case of a duplicte e-mail address.*/
$errors = sqlsrv_errors();
if($errors[0]['code'] == 2601)
{
echo "The e-mail address you entered has already been used.</br>";
}
/*Die if other errors occurred.*/
else
{
die(print_r($errors, true));
}
}
else
{
echo "Registration complete.</br>";
}
}}