hi uhm ik vraag eigelijk nooit om hulp maar ik ben nu al een week bezig en ik snap het gewoon niet
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
Als je het object-geörienteerd gebruikt, dan wordt het


<?php
$db->insert_id;
?>


Hier werkt het perfect na een INSERT. Let er ook op dat je er geen andere INSERT ervoor plaatst die geen ID heeft.
werkt dus niet bij mij daarom snap ik het niet
elke insert heeft bij mij een auto ID dus zou moeten werken

echt ik verlies straks nog al mijn haren



[size=xsmall]Toevoeging op 09/08/2019 15:50:42:[/size]

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;

Gebruik je een aparte extended class die insert_id overerft?
niet dat ik weet
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
Je gebruikt dus de normale standaard MySQLi-class?
Hoe ziet je relevante code eruit met je INSERT en je $db->insert_id ?
Wordt je INSERT-query zelf überhaupt wel uitgevoerd?
ja die wordt uitgevoerd
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 :(
Hmm... sql_query() is geen standaard functie. Dus we praten wel over een eigen afgeleide database-class?
En geeft je INSERT-query ook wel een ID mee aan het record?
id komt van de AUTO_INCREMENT

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
Normaal is het $conn->query("SELECT... FROM... WHERE bla...");

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?
ja ik heb ooit 10 jaar geleden de userpie login script gebruikt als basis
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

Reageren