Door
Mohamed nvt
op 25-08-2017 21:53
gewijzigd op 25-08-2017 21:57
3.108 views
Hallo allemaal,
Onderstaande code gebruik ik om de waarde van een kolom bij te werken naar het getal 2, nadat een gebruiker op de verzendknop heeft gedrukt.
En, helaas werkt het niet en ik krijg allemaal foutmelding.
De foutmelding zijn o.a.:
med_expire.php' on line 111: mysqli_affected_rows() expects parameter 1 to be mysqli, null given
Bizar genoeg, wanneer ik binnen PHPMyAdmin de query "UPDATE medicines SET verwijderd = 2 WHERE ID = 55; uitvoer, dan werkt het wel.
$query = "UPDATE medicines SET verwijderd = 2 WHERE id={$_POST['id']}";
$dbc zit in een ander bestand, die ik via invoeg via includes/config.inc.php.
Vandaar require(mysql)
En zoals je ziet, werkt $dbc wel in het script door gegevens uit DB te halen en anders zou $dbc vanaf het begin niet werken, toch?
En daarom denk ik dat het probleem ergens anders in zit. Initieel dacht ik dat het kolomnaam niet klopt, maar die klopt wel en dezelfde script werkt wel in PHPMyAdmin
Onzin. Als $dbc niet bestaat zal je query niet werken, omdat mysqli afhankelijk is van de correcte inhoud van deze variabele. Corrigeer dat dus eerst eens. Het feit dat je conditioneel zit te includen zal hier ongetwijfeld een rol in spelen.
Onzin of niet, maar het probleem heb ik nu wel opgelost.
Voordat ik de query uitvoer om de waarde van kolom verwijderd aan te passen, heb ik opnieuw require(MYSQL) toegevoerd en nu werkt de script wel en zonder foutmeldingen.
Dit heb ik eerder niet meegemaakt, maar blijkbaar moest ik opnieuw de connectie met DB toe te voegen, nadat ik PHP script had afgebroken en later opnieuw begon.
Wel heel erg vreemd dat PHP op dat moment zijn variabele vergeet.
Ik zou het toch eens gaan debuggen met var_dump op elke plek, en net zo lang door gaan tot dat de waarde opeens weg is.