[GELÖST] select hierarchy

Hilfe zu Modulen und Tags
Post Reply
polymedium
New Member
New Member
Posts: 2
Joined: Wed Jun 10, 2009 10:27 am

[GELÖST] select hierarchy

Post by polymedium »

Servus,

möchte gerne ein udt schreiben, welches mir die "page_alias" anhand der spalte "hierarchy" ausgibt.

Leider stoße ich auf folgendes Problem:

Code: Select all

global $gCms;
$db =& $gCms->GetDb();

$hierarchy = "00001"; // funktioniert
$hierarchy = "00001.00002"; // funktioniert
$hierarchy = "00001.00002.00003";  // funktioniert nicht


$dbresult = array();

$query = "SELECT content_alias FROM " . cms_db_prefix()."content WHERE hierarchy=$hierarchy";

$dbresult = &$db->Execute($query);

if ($dbresult) $row = $dbresult->FetchRow();

echo "ausgabe:" . $row['content_alias'];
Für Anregungen vielen Dank im voraus

Oli
Last edited by polymedium on Wed Jun 10, 2009 12:10 pm, edited 1 time in total.
NaN

Re: select hierarchy

Post by NaN »

Setz mal die Variable $hierarchy in einfache Anführungszeichen.
Ohne Anführungszeichen wir der Wert der Variable als Zahl (Integer=Ganzzahl oder Float=Fließkommazahl) interpretiert.
Das mag bei 00001 und 00001.00002 noch gehen (entspräche 1 und 1.00002).

00001.00002.00003 ist durch den zweiten Punkt keine Zahl mehr und wird als String interpretiert.
Und Strings müssen bei SQL Abfragen in Anführungszeichen (damit die DB weiß, ob es sich um einen Wert, eine Tabellenspalte oder einen Befehl handelt).

Um sowas in Zukunft zu vermeiden, empfehle ich Dir eine andere Schreibweise:

Code: Select all

$query = "SELECT content_alias FROM " . cms_db_prefix()."content WHERE hierarchy=?";
$dbresult = &$db->Execute($query, array($hierarchy));
Da macht die API automatisch die Anführungszeichen um die Werte.
polymedium
New Member
New Member
Posts: 2
Joined: Wed Jun 10, 2009 10:27 am

Re: select hierarchy

Post by polymedium »

An die Fließkomma-Sache hatte ich auch schon gedacht, Aber in Anführungszeichen setzen dafür hat es dann wieder ned gereicht  ::)

Funktioniert. Und vielen Dank auch für den Tip mit der Schreibweise.

Beste Grüße

Oli
Post Reply

Return to “Module und Tags”