Ingevoerde data in mysql terug vragen.
Ik ben een newbie met PHP maar zit hier met een vraagje.
Ik heb een invul formulier gemaakt die prima werkt echter zit er een auto_increment ID aan vast. (Dit hoort ook hoor).
En een eigen ID invullen is geen optie voor dit project.
Wat ik wil doen is nadat de informatie is ingevoerd in de database (mysql) de automatische aangemaakte ID opnemen in een sessie en deze meegeven naar het volgende PHP document. Dus kort maar krachtig heb ik een auto_increment id die ik na het invullen van de database wil ophalen als een variable.
Bijvoorbaat dank,
Augus
Werk je met PDO, mysqli of (af te raden) mysql_ methode? Bij elk van deze is het opvragen van last_insert_id mogelijk, waarna je het in de sessie kunt steken.
En last_insert_id had ik ook al gevonden maar dat gaat em niet worden. Aangezien het goed mogelijk is dat in de toekomst meerdere personen het veld gaan invoeren en je dus het probleem kan krijgen dat je verkeerde id krijgt.
mysql_insert_id()
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
include("index.php");
include("connect.php");
//define("TBL_USERS", "members");
$name = mysql_real_escape_string ( $_POST['name'] );
$adress = mysql_real_escape_string ( $_POST['adress'] );
$sdescription = mysql_real_escape_string ( $_POST['sdescription'] );
$description = mysql_real_escape_string ( $_POST['description'] );
$photo = mysql_real_escape_string ( $_POST['photo'] );
$phone = mysql_real_escape_string ( $_POST['phone'] );
$mail = mysql_real_escape_string ( $_POST['mail'] );
$website = mysql_real_escape_string ( $_POST['website'] );
$rating = mysql_real_escape_string ( $_POST['rating'] );
$coordinateslong = mysql_real_escape_string ( $_POST['coordinateslong'] );
$coordinateslat = mysql_real_escape_string ( $_POST['coordinateslat'] );
mysql_query("INSERT INTO company(name,adress,shortdescription,description,photo,phone,mail,website,rating,coordinateslong,coordinateslat) VALUES ('$name', '$adress','$sdescription','$description','$photo','$phone','$mail','$website','$rating','$coordinateslong','$coordinateslat')");
mysql_insert_id();
header("location:category.php");
?>
include("index.php");
include("connect.php");
//define("TBL_USERS", "members");
$name = mysql_real_escape_string ( $_POST['name'] );
$adress = mysql_real_escape_string ( $_POST['adress'] );
$sdescription = mysql_real_escape_string ( $_POST['sdescription'] );
$description = mysql_real_escape_string ( $_POST['description'] );
$photo = mysql_real_escape_string ( $_POST['photo'] );
$phone = mysql_real_escape_string ( $_POST['phone'] );
$mail = mysql_real_escape_string ( $_POST['mail'] );
$website = mysql_real_escape_string ( $_POST['website'] );
$rating = mysql_real_escape_string ( $_POST['rating'] );
$coordinateslong = mysql_real_escape_string ( $_POST['coordinateslong'] );
$coordinateslat = mysql_real_escape_string ( $_POST['coordinateslat'] );
mysql_query("INSERT INTO company(name,adress,shortdescription,description,photo,phone,mail,website,rating,coordinateslong,coordinateslat) VALUES ('$name', '$adress','$sdescription','$description','$photo','$phone','$mail','$website','$rating','$coordinateslong','$coordinateslat')");
mysql_insert_id();
header("location:category.php");
?>
Dus als dit script gerunt is wil ik de auto_increment id hebben in een session dus in de zin van:
session_register("[het auto_increment id]");
Dan had je namelijk gezien dat mysql_insert_id() het gegenereerde id van de laatste INSERT query terug geeft. Je zult die waarde dan natuurlijk wel op moeten vangen in een variabele: