Hvordan gemmer man et autoincrement, når der insættes i databasen?
Hej eksperterJeg har givet mig selv den udfordring, at jeg vil opbygge en applikation, hvor brugeren kan oprette et indlæg på en side. Når vedkommende gør det, vil han samtidig komme på en mail-liste og vil modtage emails, hvis der fremover kommer kommentarer eller opdateringer til hans indlæg.
Jeg har bygget det vha 3 tabeller i MySQL, hvor tabel 1 indeholder brugerdata, tabel 2 indeholder beskeddata og tabel 3 mailliste data.
Beskeddata har et message_id som er genereret vha autoincrement. Mit spørgsmål er, hvordan jeg på samme tid, som jeg opretter et indlæg og tildeler det record-set et auto_id gemmer dette id, som jeg så kan sætte på mail-listen.
Se nedenstående kode.
<?php
//Postede data (mysql_prep-funktionen sikrer indsatta data i SQL'en)
$message_title = mysql_prep($_POST['message_title']);
$message_text = mysql_prep($_POST['message_text']);
$message_date = mysql_prep($_POST['message_date']);
$message_submitter = mysql_prep($_POST['message_submitter']);
//Sever data
$servername = 'servernavn';
$server_user = 'username';
$server_pass = 'password';
$db_name = 'databasenavn';
$db_table = 'tabelnavn';
$db_table2 = 'tabelnavn2';
//DB connection
$connection = mysql_connect($servername, $server_user, $server_pass);
if(!$connection){
die("Database connection did not succeed" . mysql_error());
}
$select_db = mysql_select_db($db_name, $connection);
if(!$select_db){
die("Database selection not succeed" . mysql_error());
}
//Opbygning af SQL
$sql = "INSERT INTO {$db_name}.{$db_table} ";
$sql .= "(";
$sql .= "id_message, message_title, message_text, message_date, message_submitter ";
$sql .= ") ";
$sql .= "VALUE(";
$sql .= "NULL, '{$message_title}', '{$message_text}', {$message_date}, {$message_submitter}";
// AUTOINCREMENT
$sql .= ")";
$result = mysql_query($sql, $connection);
if(!result){
echo "ERROR IN INSERTING DATA!";
}
else{
//Opbygning af SQL til email notifikation
$sql_email = "INSERT INTO {$db_name}.{$db_table} ";
$sgl_email .= "(";
$sgl_email .= "id_notification, id_message, id_user";
$sgl_email .= ") ";
$sgl_email .= "VALUE(";
$sgl_email .= "NULL, $id_message, $message_submitter";
// AI, ? HVORDAN
$sgl_email .= ")";
$result_email = mysql_query($sql_email, $connection);
if(!result){
echo "ERROR IN INSERTING DATA!";
}
}
?>