2016-05-14 2 views
0
<?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. После этого никакая другая информация не регистрируется?

+0

Вы не делаете. Если это Auto Increment, просто оставьте его полностью из запроса INSERT. MYSQL ищет после создания следующего номера в этом столбце – RiggsFolly

+0

Первый ключ AutoIncrement обычно 1, когда вы оставляете MYSQL выполнять всю работу – RiggsFolly

+0

Отдельно ПРИМЕЧАНИЕ: '$ conn-> prepare()' должен находиться внутри вашей 'try/catch', это так же вероятно, или на самом деле БОЛЬШЕ, что может вызвать исключение, чем 'bindParam' и' execute' – RiggsFolly

ответ

0

Я думаю, вы ищете Auto Increment

+0

Я очистил базу данных и вставил первичный ключ. Теперь, когда я заполняю форму, первый вход будет загружен, а первичный ключ будет равен 0. После этого никакая другая информация не регистрируется? – JSint

+0

Теперь каждый раз, когда вы вставляете новую строку в таблицу, mysql должен создать новый идентификатор. (Начиная с 1, если другое значение не задано/задано). Заявление CREATE поможет. (Или таблицу ALTER, если вы с ней работаете). –

Смежные вопросы