Veröffentlicht 10. Mai 201312 j Ich habe folgende Ausgangssituation: db.php -> enthält die Datenbankverbindung und $mysqli template.class.php -> enthält den unten stehenden Quellcode test.php ->included beide oberen Dateien global $mysqli; $qry = "SELECT name, content FROM `language_variables` WHERE `language` = ? AND `module` = ? AND `template` = '".$this->template."'"; $stmt = $mysqli->prepare($qry); $stmt->bind_param("ii", $this->language, $this->module); $stmt->execute(); echo $stmt->num_rows(); while($stmt->fetch()) { $stmt->bind_result($name, $content); $this->language_variables[$name] = $content; } $stmt->close; foreach($this->language_variables as $var => $val) { $this->content = str_replace("[".$var."]",$val,$this->content); }[/PHP] Zusätzlich sieht die entsprechende Tabelle so aus: [table=width: 500, class: outer_border] [tr] [td]language[/td] [td]module[/td] [td]template[/td] [td]name[/td] [td]content[/td] [/tr] [tr] [td]1[/td] [td]0[/td] [td]index[/td] [td]sprache[/td] [td]testvariable[/td] [/tr] [/table] Ich habe mir beim Aufruf der Template die entsprechenden Werte ausgeben lassen: Module: 0 Language: 1 Template: index Jetzt zu meinem Problem: Beim Auslesen aus der Tabelle, wird nichts gefunden. Ich habe auch schon das Statement kopiert und in phpMyAdmin eingefügt, wo ich Ergebnisse erhalten habe. Hat jemand eine Idee, woran es liegen könnte? Den Templatenamen setze ich übrigens ausserhalb des prepare, da man im prepare anscheinend keine Anführungszeichen verwenden kann und beispielsweise das Wort "index" ein reserviertes Wort ist, wenn es nicht in Anführungszeichen steht. Ich hoffe, dass mir jemand helfen kann. MfG Shadowman Bearbeitet 10. Mai 201312 j von Shadowman
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.