23. November 2017, 22:58:50
SMFPortal.de

Autor Thema: Verständnisfrage db_prefix  (Gelesen 1050 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

30. Juli 2011, 14:22:57
Gelesen 1050 mal

columbo


Hallo

Ich frage mich siet langem, woher die Variable db_prefix kommt und vorallem warum in den Abfragen kein $ Zeichen steht.
SELECT real_name FROM {db_prefix}members

Wäre jemand so freundlich, das zu erklären? ;)

30. Juli 2011, 17:23:22
Antwort #1

feline

Gast
Dieses string (und alles andere was in { ... } steht) wird im Database Level durch die tatsächlichen werte ersetzt.
Du hast sicher schon dinge wie IN ({array:int:boards}) in den queries gesehen ...
Aus dieser query:
$request = $smcFunc['db_query']('', 'SELECT name FROM {db_prefix}boards WHERE id_board IN ({array_int:boards})', array('boards' => array(1,2,3,4));

macht das Database Level:
SELECT name from smf_boards WHERE id_board IN (1,2,3,4)

Warum das ganze?
Weil man so auch andere Datenbanken, wie z.B. PostGres verwenden kann UND das sicher ist, weil die werte geprüft werden können. array_int z.B. prüft ob die übergebene variable ein array ist und numerische werte enthält. Wenn in dem Array z.B. (1,a,3,4) stehe würde gibt es eine Fehlermeldung.



30. Juli 2011, 23:39:14
Antwort #2

columbo



31. Juli 2011, 05:31:55
Antwort #3

Ferrika

Gast
Wurde dein Problem gelöst, markiere das Thema bitte dementsprechend. Eine Anleitung hierzu findest du hier. Danke.

 

Internes

Nutzungsbedingungen Impressum

Wissenswertes

Hilfe Knowledge Base

Nützliches

Downloads Kleinanzeigen Socialmedia