Я хочу вставить значения в MS SQL с помощью подготовленного оператора PHP PDO, я уверен, что я успешно подключен к SQL Server, но у меня нет идеи, почему я не могу вставлять данные на нее ,PDO_SQLSRV не возвращает ошибку, не может вставить значения
Это, как я подключиться к SQL серверу
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<h1 align='center'>Paycom Projects</h1>
<h5 align='center'>Paycom CRUD</h5><br/>
<?php
$serverName = "EDGEWEBMEDIA-PC\SQLEXPRESS";
/* Connect using Windows Authentication. */
try
{
$conn = new PDO("sqlsrv:server=$serverName ; Database=paycom", "sa", "edgeweb");
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(Exception $e)
{
die(print_r($e->getMessage()));
}
insert.php
<?php
include_once('connect.php');
$stmt = $conn->prepare("INSERT INTO employee (firstname, lastname, email)
VALUES (:firstname, :lastname, :email)");
$stmt->bindParam(':firstname', $firstname);
$stmt->bindParam(':lastname', $lastname);
$stmt->bindParam(':email', $email);
// insert a row
$firstname = "John";
$lastname = "Doe";
$email = "[email protected]";
$stmt->execute() or die(print_r($stmt->errorInfo(), true));
// insert another row
$firstname = "Mary";
$lastname = "Moe";
$email = "[email protected]";
$stmt->execute() or die(print_r($stmt->errorInfo(), true));
// insert another row
$firstname = "Julie";
$lastname = "Dooley";
$email = "[email protected]";
$stmt->execute() or die(print_r($stmt->errorInfo(), true));
echo "New records created successfully";
}
catch(PDOException $e)
{
echo "Error: " . $e->getMessage();
}
$conn = null;
Что не так с этим? Я уже пробовал это с помощью Framework (Laravel) на той же машине, и он работает безупречно, но я хочу проверить это, используя простой php (без фреймворка).
таблицы, столбцы вручную добавить через студию управления SQL
UPDATE
Теперь я знаю точно ошибка, как я добавил
ini_set('display_errors',1);
error_reporting(E_ALL | E_STRICT);
Теперь ошибка связана с обнулить идентификационные значения
[Microsoft][SQL Server Native Client 11.0][SQL Server]Cannot insert the value NULL into column 'id',
Мой обновленный вопрос: не могу ли я предотвратить эту ошибку?
Update
Теперь я могу вставить данные, изменив таблицу, поле идентификатора устанавливаются в nullabler, но я знаю, что это не приемлем, так как нам нужен идентификатор для каждых данных в таблице при выполнении запроса