Ingevoerde data in mysql terug vragen.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Augus Gils

Augus Gils

01/06/2010 13:19:57
Quote Anchor link
Beste forum leden,

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
 
PHP hulp

PHP hulp

28/11/2024 14:49:20
 
Hipska BE

Hipska BE

01/06/2010 13:33:30
Quote Anchor link
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.
 
Augus Gils

Augus Gils

01/06/2010 13:40:14
Quote Anchor link
Weet het verschil niet echt tussen die manieren, Maar voer het in door middel van: mysql_query("INSERT INTO

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.
 
Joren de Wit

Joren de Wit

01/06/2010 13:44:27
Quote Anchor link
mysql_insert_id()
 
Augus Gils

Augus Gils

01/06/2010 14:03:53
Quote Anchor link
Uhm die inser_id begrijp ik niet helemaal. Wellicht geeft de gehele code wat opheldering dus bij deze:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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");

?>


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]");
 
Joren de Wit

Joren de Wit

01/06/2010 14:15:13
Quote Anchor link
Sowieso wil je geen session_register gebruiken omdat die functie verouderd is. Gebruik de superglobal $_SESSION. Verder kun je natuurlijk altijd even op php.net kijken als je niet precies weet hoe een functie werkt...

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:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$result
= mysql_query("INSERT ...");
$id = mysql_insert_id();
?>
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.