insert_id probleem (mysql_insert_id())
ik kom er serieus gewoon niet uit
ok uhm ik zal eerst ff 1 en ander uitleggen over mijn script
ik ben sinds kort over gegaan van php 5 naar 7.2
hier zijn de problemen mee ontstaan
ik gebruik nu:
MySQLi (Object oriented style)
mijn probleem is dit..
ik heb in een best groot deel van mijn script de laatste mysql insert nodig
dit deed ik in php5 met
$laatste = mysql_insert_id();
echter in php 7 mag dit dus niet meer
ik heb alles all geprobeerd maar ik krijg gewoon niks terug
$laatste = mysqli_insert_id();
$laatste = mysqli_insert_id;
$laatste = insert_id();
$laatste = insert_id;
$laatste = $db->insert_id;
als ik all iets terug krijg is het 0
zelfs als ik vlak boven de code een INSERT plaats
niks werkt terwijl in php5 wel werkt
ik hoop dat iemand dit snapt mvg sylvester
Hier werkt het perfect na een INSERT. Let er ook op dat je er geen andere INSERT ervoor plaatst die geen ID heeft.
Gewijzigd op 09/08/2019 15:43:56 door - Ariën -
elke insert heeft bij mij een auto ID dus zou moeten werken
echt ik verlies straks nog al mijn haren
Toevoeging op 09/08/2019 15:50:42:
PS: ik heb ergens wel een deel met mbt dbal_mysqli
zou het daar door komen?
want ik krijg in mijn logs en error van
PHP message: PHP Notice: Undefined property: dbal_mysqli::$insert_id ...... on line 1034
op deze line staat
$id_invoer = $db->insert_id;
Edit:
Het quoten van het integrale voorgaande bericht is niet nodig. Deze is daarom verwijderd.
Gewijzigd op 09/08/2019 15:53:30 door - Ariën -
Gebruik je een aparte extended class die insert_id overerft?
maar ik ben al zoveel jaren met dit script bezig dat dat zou kunnen ik zou alleen niet weten waar
maar naar mijn weten niet
Hoe ziet je relevante code eruit met je INSERT en je $db->insert_id ?
Wordt je INSERT-query zelf überhaupt wel uitgevoerd?
Gewijzigd op 09/08/2019 16:05:12 door - Ariën -
ik heb zelfs een exit; erin geprobeert om de rest van me script tijderlijk even uit te zetten
$db->sql_query("INSERT INTO touch_kamers (product_id, account, dame_id, soort, omschrijving, details, prijs, pin, cc, btwhoogte, deel_dame, start, eind, kamer_nr, datum, nummer, betaald) VALUES ('$link[id]', '$member[group_account]', '$id', 'tarieven', '$link[minuten]', '$details', '$link[prijs]', '$pin', '$cc', 'btwhoog', '', Now(), Now()+Interval $link[minuten] minute, '$kamer', '$terug', '$nummers', '$betaald')");
$id_invoer = $db->insert_id;
insert werkt
alleen die id krijg ik dus niet :(
En geeft je INSERT-query ook wel een ID mee aan het record?
ik heb die sql_query ergens van internet geplukt omdat ik iets moest hebben dat werkte met php7
aangezien ik hiervoor gewoon standaard mysql gebruikte
ik ben goed met het aanpassen en toevoegen van scripts enzo maar dat soort basics heb ik eigelijk geen kaas van gegeten
als jij zegt dat sql_query anders moet dan kan ik dat misschien wel aanpassen
ik hoop van niet maar als dat de reden is
Ik vermoed dat je dus een eigen database-class hebt, waarbij de insert_id niet goed werkt vanwege de overstap naar PHP7. Hoe initialiseer je de database eigenlijk?
Gewijzigd op 09/08/2019 16:31:30 door - Ariën -
deze zit er nogsteeds in
hoe kan ik die class enz aanpassen of moet ik 10.000 files gaan herschrijven ?
ik zal ff testen of het werkt als ik gewoon query gebruik inplaats van sql_query
https://wiki.phpbb.com/Queries_in_phpBB3
Dan zou dit de oplossing kunnen zijn (komt in de buurt)
$user_id = $db->sql_nextid();
https://wiki.phpbb.com/Database_Abstraction_Layer#sql_nextid
Gewijzigd op 09/08/2019 16:41:08 door Adoptive Solution
is er een snelle manier om dit te fixen?
Heb net vorige post aangevuld.
Adoptive Solution op 09/08/2019 16:41:46:
Heb net vorige post aangevuld.
Juist :+)
Gewijzigd op 09/08/2019 16:43:39 door - Ariën -
kwam op zelfde uit
sql_nextid(); werkt
w00t w00t
zonder jouw was mij dit nooit gelukt
Ah, cool :-)
als er net een invoer ergens wordt gedan dan ziet hij die insert blijkbaar ook en dit was eerst niet zo maar dat komt wel goed :P
heel erg bedankt :P