Door
racoon smasher
op 07-05-2014 10:10
gewijzigd op 07-05-2014 15:19
1.661 views
Zou iemand me kunnen helpen met het vinden van een fout in me code?
ik kan namelijk de fout niet vinden...
In de code hieronder moet een fout zitten waardoor hij de dingen niet insert in de database, de codes die hiervoor komen weet ik zeker van dat ze het doen.
Ik vind het jammer om te zien dat je nog steeds aanpassingen in je code mist na al onze opmerkingen.
Als je eens zou beginnen om goede foutafhandeling toe te voegen, zou je weten wat er fout gaat.
Daarnaast vind ik dit erg vreemd en heb nog nooit gezien dat je op die manier 2 inserts uitvoert.
Op regel 26 voer je wel gelijk een insert uit in een query, zorg dat je één lijn trekt in je manier van programmeren en niet de ene keer wel direct in een query en de andere keer weer niet.
Regel 30-32 is i.m.o. nog steeds 'not done'.
Ik vind het jammer om te zien dat je nog steeds aanpassingen in je code mist na al onze opmerkingen.
Als je eens zou beginnen om goede foutafhandeling toe te voegen, zou je weten wat er fout gaat.
Daarnaast vind ik dit erg vreemd en heb nog nooit gezien dat je op die manier 2 inserts uitvoert.
Op regel 26 voer je wel gelijk een insert uit in een query, zorg dat je één lijn trekt in je manier van programmeren en niet de ene keer wel direct in een query en de andere keer weer niet.
Regel 30-32 is i.m.o. nog steeds 'not done'.
Bedankt voor je reactie,
Heb het probleem al opgelost
en ik gebruik al jullie tips wel, maar dingen zoals mysqli ga ik nu niet toepassen op dit CMS.
Regel 30-32 kan in principe helemaal geen kwaad, kan ook een code toevoegen waardoor die naar de history gaat en verder is de php header functie geen oplossing, omdat het algemeen bekend is dat die vaak problemen veroorzaakt.
en foutafhandeling gebruik ik regelmatig, maar bij deze toevallig niet.
Overigens is mysql_query($insertCheck && $insertLinkbuilding) compleet fout.
Allereerst kan mysql_query maar met 1 query tegelijkertijd werken.
Daarnaast zou er een ";" tussen de queries moeten zitten, stel dat mysql_query er 2 tegelijkertijd kon uitvoeren.
Als laatste is && een operator voor een conditie, als $insertCheck en $insertLinkbuilding een truty value is komt er true uit. Een string (query) is een truty value, dus je krijg hier mysql_query(true); wat niks is.
Als je toch NULL wilt inserten in een kolom, laat die dan weg uit je insert query (zeker gezien de naam, lijkt het dat je uiteindelijk een auto increment waarde wilt inserten.)
Als je toch NULL wilt inserten in een kolom, laat die dan weg uit je insert query (zeker gezien de naam, lijkt het dat je uiteindelijk een auto increment waarde wilt inserten.)
ja ik weet het van die NULL, maar ik kreeg van iemand hier toen ook die tip mee, maar ik zal hem weghalen.
> en ik gebruik al jullie tips wel, maar dingen zoals mysqli ga ik nu niet toepassen op dit CMS.
Enkele zul je inderdaad toepassen, maar zoals foutafhandeling dus niet. Ik heb het hier niet over mysqli, daar hebben we het al over gehad :)
> Regel 30-32 kan in principe helemaal geen kwaad, kan ook een code toevoegen waardoor die naar de history gaat en verder is de php header functie geen oplossing, omdat het algemeen bekend is dat die vaak problemen veroorzaakt.
Klopt misschien dat je met javascript wat meer kan. Toch vind ik een php header hier meer op zijn plaats.
Als je de header op de juiste manier toepast levert deze nooit problemen op.
> en foutafhandeling gebruik ik regelmatig, maar bij deze toevallig niet.
Regelmatig zou altijd moeten zijn. Dan had je geweten wat er hier fout ging.
Wees constant in je programmeren en programmeer niet de ene keer zus en de andere keer zo.
>> Regel 30-32 kan in principe helemaal geen kwaad, kan ook een code toevoegen waardoor die naar de history gaat en verder is de php header functie geen oplossing, omdat het algemeen bekend is dat die vaak problemen veroorzaakt.
Het veroorzaakt problemen omdat mensen hun code verkeerd structureren en de functie daarom verkeerd gebruiken. De mysql_query (en ook mysqli_query) veroorzaakt ook duizenden fouten, ik zou die daarom ook maar niet gaan gebruiken...
Ook met PHP kun je naar de history gaan. Zoiets moet afgehandeld worden in PHP en niet in JavaScript, nu ga je namelijk maar ergens willekeurig een JavaScript script echoën. Om het nog erger te maken, je zorgt ervoor dat de pagina beschikbaar wordt in de browser. Je zorgt voor een onnodige extra response en dus onnodig tijdverlies.
Gebruik functies waarvoor ze zijn en gebruik ze goed.