Kom erop om dit topic te maken omdat ik gister (en eigenlijk de rest van de dagen ook) een beetje dom loop te doen en hele HELE gare fouten maak waar ik uren naar de fout loop te zoeken voordat ik het eindelijk vind. Post hier fouten die zo dom zijn dat je ze eigenlijk niet openbaar zou moeten maken :p
Was gister bezig met een simpele variabele declarere
<?php
$tel = $_SESSION['countme'];
$newArray = array();
for ($a = 0; $a < count(eenArray); $a++)
{
//doe zooi
$newArray[] = $eenArray[$a] + $tel;

}
?>

reden waarom het uiteindelijk niet werkte is omdat ik voor
//doe zooi
$newArray[] = $eenArray[$a] + $tel;
nog deze regel code had gezet:
$tel = $a;
echo "lus nummer: ".$tel;

Ik heb echt bijna 2.5 uur lopen zoeken waarom het niet werkte (er zaten meerdere lussen in trouwens en meer code etc..) en wilde bijna me computer het raam uitgooien. Zo focking dom... wat me veel teveel tijd koste. Wilde dit bijna als vraag op forum gaan posten toen ik het opeens zag :P
Dat is inderdaad niet slim. En verder altijd een backup draaien op de achtergrond. Dat voorkomt zo min veel mogelijk dataverlies
@Aar en Tobias: nu begrijp ik 'm. Heb het zelf ook meegemaakt... in een testomgeving. Haha, we zijn dus met z'n 3'en :D
Ik had eens een CMS af, ik upload 'm naar de host, maar er werden helemaal geen rijen toegevoegd.
Bleek dat MySQL nog verbonden stond met mijn testserver xD
Tobias Tobias op 26/11/2011 20:45:09

Ik ben net vergeten een WHERE-statement in een UPDATE-query te zetten. Gevolg: Een nieuwsarchief van 2 jaar veranderd in 380 identieke berichten...


MySQL --safe-updates iets voor jou? :p
@kees:
Niet zo'n slecht idee. Alleen lastig op het moment dat je wél veel wilt veranderen.
Gewoon zelf een update functie maken waarbij je altijd een WHERE argument moet meegeven. Indien er geen WHERE moet worden toegevoegd aan de update query dan moet je als argument false meegeven.

Dus bijvoorbeeld:

update('name', 'Kees Schepers', 'id = 10');

of

update('country', 'Nederland', false);

Omdat je nu bewust een WHERE moet meegeven kan het eigenlijk niet meer fout gaan.
@Ozzie: Zeker geen slecht idee. Zo houd je de code ook wat overzichtelijker.
Hoe doe je dit dan met meerdere argumenten? Een array erin gooien?

bv:
<?php
$argument[0] = 'geboortedatum < 2010-05-12';
$argument[1] = 'geslacht = m';
update('ledenlijst', 'wijziging', $argument);
?>
En dan in de functie kijken of $argument een array is
Hey Tobias,

Ja dat zou prima kunnen op die manier. Je kunt daar zelf iets voor bedenken wat je het handigst vindt.

Je kunt er ook een class van maken met allerlei handige database functies.

Je zou bijv. ook een functie kunnen maken waarin je eerst de tabel zet die je wilt updaten, bijvoorbeeld:

updateTable('ledenlijst');

en dan een functie updateWhere die je meerdere keren kan aanroepen

updateWhere('geboortedatum < 2010-05-12');
updateWhere('geslacht = m');

enz.

Het is net wat je zelf het prettigst vindt werken.
Het welbekende where bij update vergeten probleem, yep laatst ook weer :)

Mij gebeurd het ook nog wel eens dat ik een random toets in druk ergens in een template en het niet door heb. En dan een uurtje later, waar kom toch die <random toets> vandaan (vooral met > is het leuk).

Reageren