<?php
require_once 'Connect.php';
//Prepare HTML insert statement binding parameters
$stmt = $conn->prepare("INSERT INTO records (`Title`, `FirstName`, `LastName`, `Gender`, `DOB`, `Mem.Expiry`, `Mem.Type`, `EmailAddress`)
VALUES (:Title, :Fname, :Lname, :Gender, :DOB, :MemX, :MemType, :Email)");
$title = $_POST['Title'];
$fname = $_POST['Fname'];
$lname = $_POST['Lname'];
$gender = $_POST['Gender'];
$dob = $_POST['DOB'];
$memx = $_POST['MemX'];
$memtype = $_POST['MemType'];
$email = $_POST['Email'];
//Attempt row insertion by executing prepared statement
try
{
//Insert a row
$stmt ->bindParam(':Title', $title);
$stmt ->bindParam(':Fname', $fname);
$stmt ->bindParam(':Lname', $lname);
$stmt ->bindParam(':Gender', $gender);
$stmt ->bindParam(':DOB', $dob);
$stmt ->bindParam(':MemX', $memx);
$stmt ->bindParam(':MemType', $memtype);
$stmt ->bindParam(':Email', $email);
$stmt->execute();
}
catch (PDOException $e)
{
echo $e->getMessage();
}
?>
У меня есть веб-форма, которая обновляет базу данных, подключенную к localhost. Я хотел бы реализовать первичный ключ. Когда я включаю столбец идентификатора и устанавливаю его в первичный ключ, как я могу реализовать, что он автоматически заполняет код выше? Я смотрел онлайн, но я не мог найти ничего полезного.PHP - реализация основного ключа SQL
Я очистил базу данных и вставил первичный ключ. Теперь, когда я заполняю форму, первый вход будет загружен, а первичный ключ будет равен 0. После этого никакая другая информация не регистрируется?
Вы не делаете. Если это Auto Increment, просто оставьте его полностью из запроса INSERT. MYSQL ищет после создания следующего номера в этом столбце – RiggsFolly
Первый ключ AutoIncrement обычно 1, когда вы оставляете MYSQL выполнять всю работу – RiggsFolly
Отдельно ПРИМЕЧАНИЕ: '$ conn-> prepare()' должен находиться внутри вашей 'try/catch', это так же вероятно, или на самом деле БОЛЬШЕ, что может вызвать исключение, чем 'bindParam' и' execute' – RiggsFolly