Wie lege ich einen neuen Datensatz an ?

Hast du Probleme Admidio einzurichten? Hier kannst du Fragen rund um die Einrichtung stellen.
Antworten
judormagen
Beiträge: 42
Registriert: 6. Aug 2009, 16:28

Wie lege ich einen neuen Datensatz an ?

Beitrag von judormagen »

Hallo!

Leider konnte mir die Doku dabei nicht genug weiterhelfen:

Ich möchte genau das machen, was hier beschrieben ist:

http://admidio.org/dokuwiki/doku.php?id ... tensatz_an

Allerdings wird das systemweite Tabellenprefix nicht dynamisch vorgesetzt. Wie mache ich das im Code ohne das Prefix hardcodiert hinzuschreiben?

Vielen Dank!

PS: Mein Beispiel:

Code: Alles auswählen

//Eingabe verarbeiten
if(isset($_GET['add']))
{
  $history = new TableAccess($g_db, 'history', 'his');
  $history->setValue('his_test', 'Testeintrag');
  $history->save();
  Header("Location: ".$g_root_path."/adm_program/modules/profile/history.php?user_id=". $a_user_id); 
  exit();  
}
Der Fehler:

Code: Alles auswählen

S Q L - E R R O R
CODE: 1146
Table 'db38599_2.history' doesn't exist

B A C K T R A C E

FILE: adm_program/system/db/mysql.php
LINE: 210
CALL: DB->db_error()

FILE: adm_program/system/db/mysql.php
LINE: 80
CALL: MySqlDB->db_error()

FILE: adm_program/system/classes/table_access.php
LINE: 85
CALL: MySqlDB->query()

FILE: adm_program/system/classes/table_access.php
LINE: 60
CALL: TableAccess->clear()

FILE: adm_program/modules/profile/history.php
LINE: 59
CALL: TableAccess->__construct()
judormagen
Beiträge: 42
Registriert: 6. Aug 2009, 16:28

Beitrag von judormagen »

Hat sich erledigt. Die Definition muss lauten:

Code: Alles auswählen

//Eingabe verarbeiten
if(isset($_GET['add']))
{
  $history = new TableAccess($g_db, TBL_HISTORY, 'his');
  $history->setValue('his_text', 'Testeintrag');
  $history->save();
  Header("Location: ".$g_root_path."/adm_program/modules/profile/history.php?user_id=". $a_user_id); 
  exit();  
}
Antworten