Ik wil een update uitvoeren maar dat lukt - ineens - niet meer. Een update een minuut eerder lukte wel en toen niet meer. Ik krijg de foutmelding
"mysqli_error() expects exactly 1 argument, 0 given in C:\wamp\www\modellenEdit.php on line 44"
Eerst dacht ik dat ik verboden tekens wilde plaatsen zoals / of dat ik tekst wilde plaatsen in een kolom voor alleen cijfers, maar dat bleek niet het geval te zijn.
De vraag of ik Engels ken, bijvoorbeeld. Dat vond ik laatdunkend.
Dat is dan jouw eigen opvatting. Er bestaan gewoon mensen die geen Engels spreken, en in zo'n geval kan ik me voorstellen dat een foutmelding lastig(er) te interpreteren is.
Guus Wiegerinck op 21/10/2024 16:53:51
En waar ik niks van begrijp ... Ik was misschien niet helder met wat ik bedoelde - ik begreep best dat er een argument miste, maar wélk argument?
Dan is dat dus de vraag die je zou kunnen stellen. Welk argument mist hier. Tegelijkertijd kun je via php.net/hier-de-naam-van-de-functie informatie over alle functies terugvinden. Ook welk argument er verwacht wordt. Dat is dus een tip voor een volgende keer.
Guus Wiegerinck op 21/10/2024 16:53:51
Maar goed, zand erover. Tekst en gevoelens, dat is soms lastig.
We gaan hier op het forum altijd normaal met elkaar om. Er is nooit een reden om aan te nemen dat mensen laatdunkend tegen je doen. Dan weet je dat alvast voor de toekomst. En voor nu inderdaad zand erover.
Ik heb nog eens goed gekeken naar de foutmelding. Dit staat er voluit:
ArgumentCountError: mysqli_error() expects exactly 1 argument, 0 given in C:wamp\www\modellenEdit.php on line
Ik heb gezocht op count error mysqli_error(). Daar kwm ik tegen dat je een melding krijgt wanneer het aantal velden van de rij die je wilt aanpassen niet klopt met het aantal velden in de database.
Ik ben gaan tellen.
1. Het aantal tabellen/velden in de database is 32, waaronder de Id. (!)
2. Het aantal velden waarin ik de data wil aanpassen is 31 (aha) maar in de WHERE regel staat de Id, nr 32
Vraag is: telt dat ene veld Id, nr 32 dus, in de WHERE regel mee??
Of is het nieuw beleid dat die Id óók vermeld moet worden in te wijzigen velden????
Alleen die melding is bij niet hetzelfde als in het artikel.
In het artikel: Column count doesn't match value count at row 1
In mijn geval: mysqli_error().
Ben bang dat dit het niet is.
Blijft over de verbinding met de database als het ene argument dat gemist wordt. Ik begrijp echter niet hoe je iets met $db in $Msqli_error kunt doen. Als $db leeg is op regel met
Het aantal velden wat je wilt toevoegen of bijwerken komt niet overeen met het aantal waardes ervan.
Ter vergelijking: Je probeert 1,25 liter melk te gieten in een liter-pak. En dat past niet.
Protip, maar niet verplicht: Misschien kan je je verdiepen in databasenormalisatie, als je jouw applicatie schaalbaar wilt houden. Dan kan je dit beperken tot een minimaal aantal velden, en het gebruik van een koppeltabel en een met alle eigenschappen.
Ik heb nog eens goed gekeken naar de foutmelding. Dit staat er voluit:
ArgumentCountError: mysqli_error() expects exactly 1 argument, 0 given in C:wamp\www\modellenEdit.php on line
Ik heb gezocht op count error mysqli_error(). Daar kwm ik tegen dat je een melding krijgt wanneer het aantal velden van de rij die je wilt aanpassen niet klopt met het aantal velden in de database.
Ik ben gaan tellen.
...
- Ariën - op 21/10/2024 19:29:46
Het aantal velden wat je wilt toevoegen of bijwerken komt niet overeen met het aantal waardes ervan.
Oké, hier gaat toch even wat fout nu. Ik had toch duidelijk aangegeven wat de errormelding inhoudt? Maar vervolgens ga je alsnog met zoekwoorden op zoek om vervolgens tot een foute "conclusie" te komen. En vervolgens borduurt Ariën verder op die onjuiste aanname. Het is pas maandag ... scherp blijven mensen! :-)
Nogmaals er ontbreekt een argument in jouw code bij mysqli_error().
Maak van dit stukje:
or die("Wijzigen is niet gelukt.<br />" . mysqli_error()
eens dit:
or die("Wijzigen is niet gelukt.<br />" . mysqli_error($db)
Hiermee voeg je $db (jouw databaseconnectie) als argument toe.