Welke .inc heb ik nodig, waar zit het probleem en hoe het te weten komen?
Is een vervolg op http://drupal.be/forum/dbupdate-foutmelding-innerjoin maar een heel andere vraag, vandaar een nieuw onderwerp.
Het lukt mij perfect om een update uit te voeren in de database gebruik makend van db_update INDIEN de form via een een 'seperate page' wordt aangesproken, bv ../mijn-form.
Indien deze form via een tab (user-edit-tab, een 'user account page') wordt opgeroepen, bv ..user/5/edit/mijn-form dan lukt dit niet. Het veld in de database wordt niet bijgewerkt en ik krijg ook geen foutmelding.
Nu is mijn vraag, hoe kan je op een gemakkelijke mannier achterhalen waarom dit niet gaat en welk inc-bestand (als het dat is?) ik nog moet includen.
Ter info hier is de code (aangepast).
$uid = $user->uid;
$var_total = '123';
$select_q = db_select('profile', 'prof')
->fields('prof',array('pid',))
->condition('prof.uid',$uid,'=');
$result = $select_q->execute();
$array_data = $result->fetchAssoc();
$pid_value = $array_data['pid'];
$update_q = db_update('field_data_field_prof_kat')
->fields(array('field_prof_kat_value' => $var_total,))
->condition('entity_id',$pid_value,'=');
->execute();
Nochthans krijg ik de waarde van $uid, $pid_value in een drupal_set_message() te zien.
Auteur:
redjaneDatum van inzending:
woensdag 28 september 2011 - 23:15
Wordt de database zeker niet bijgewerkt? Door caching zou het kunnen dat je niet de juiste waarden uit de database te zien krijgt.
Neen, jammer genoeg niet... gecontroleerd via phpmyadmin.
Nog even verder getest.
Het is de db_update() dat helemaal niet wordt uitgevoerd.
Voor alle zekerheid getest met vaste variablen (geen $vars) maar het probleem is hetzelfde... db wordt niet geupdate.