PDA

Bekijk Volledige Versie : MySQL dingetje



Capt.Pascal
12/01/06, 16:15
Ik heb ook zoveel aan me kop
moet alles tegelijk doen.

nu dit ff



my @recorddata;

While(@recorddata=$sth->fetchrow())
{
doe_iets_inteligents_met(@recorddata);
}


Dah werk prima he, geen gezeik,
doet gewoon wat het moet doen.

MAAAAR
Nu wil ik die hele troep op dezelfde manier weer terug stoppen
dus ongeveer zoiets


$sth=$dbh->prepare("update onzintabel values @record");
$sth->execute;


Ja dus niet he
Afgezien van te verwachten gezeik over datatypes, is dit niet de juiste syntax voor een array.
Maar ehhhh wat dan wel ?

prettig weekend.

izdesign
12/01/06, 17:01
Dat is volgens mij php5? als het 4 is kan ik je vast wel helpen ;)

RvdH
12/01/06, 17:06
Dit is perl.

Maar zonder meer info (met name wat er in je array zit en welke velden je hebt) kunnen we niet veel helpen.

wphaver
12/01/06, 20:01
foreach $record (@records)
{
prepare etc
update etc
}

frvge
13/01/06, 02:11
moet je niet nog de velden noemen in de query? SET veld=waarde?
Die moet je dan wel eerst extracten. in PHP heb je iets van
$sql="";
$i=0;
$keys=array_keys($data);
foreach ($data as $key) $sql.=$key.'='. $nieuwewaarde[$i++];
$helequery=$begin . $sql;

ofzo. Dit omzetten naar Perl en klaar zou ik denken.

Capt.Pascal
16/01/06, 10:32
Ik begrijp uit jullie reacties dat het niet zonder meer gaat.
De oplossing van WPhaver had ik ook al bedacht
maar dah wil ik niet he ;(
nu ja ik verzin wel wat.

SebastiaanStok
16/01/06, 14:34
$sth=$dbh->prepare("update onzintabel values @record");
$sth->execute;

Alles wat tussen "" staat is letterlijk text ;) Dus vars en arrays of dictioneries zo is dit heet in perl :) werken niet op deze manier.


$sth=$dbh->prepare("update onzintabel SET record=".$record['veld']."");
$sth->execute;


Of zo iets, even de handlijding er bij pakken...
Volgens mij heb ik het goed :) http://www.perl.com/pub/a/2000/10/begperl1.html

Capt.Pascal
17/01/06, 11:34
Dank je Sebas
zodra ik weer ff tijd heb.....