CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden |
08.08.2009, 22:34:32
|
Anfänger
|
|
Registriert seit: Aug 2009
Alter: 41
Beiträge: 5
|
|
mehrdimensionales Array füllen und auslösen?
Hallo,
ich würde gerne aus einem SELECT ein mehrdimensionales Array befüllen und später wieder verwenden. Sinn und Zweck ist, dass ich gewisse Einstellungen in der Datenbank speichern will und diese in Klassen dann einfach per Zugriff auf das Array verwendet können.
Folgende Methode habe ich jetzt erstellt:
PHP-Code:
static function init_BaseSettings()
{
$oDb = new db(DB_HOST, DB_USER, DB_PASS, DB_NAME);
$vresQueryResult = $oDb->query("SELECT name, value FROM basesettings");
$felder = array(array());
$i = 0;
while($feld = $oDb->fetch_array($vresQueryResult))
{
$felder[$i]['name'] = $feld['name'];
$felder[$i]['value'] = $feld['value'];
$i++;
}
return $felder;
}
Und so versuche ich dann auf die selektierten Daten zuzugreifen. Allerdings erhalte ich kein Ergebnis.
PHP-Code:
$basesettings = array(array());
$basesettings = init_BaseSettings();
echo $basesettings[0]['name'];
Kann mir jemand sagen, wo ich einen Fehler mache?
Danke & Gruß
|
08.08.2009, 22:41:26
|
SELFPHP Experte
|
|
Registriert seit: Jun 2008
Alter: 16
Beiträge: 2.269
|
|
AW: mehrdimensionales Array füllen und auslösen?
$basesettings = array(array()); <<-- ist flüssiger als Wasser
Aber sonst müsste/könnte das funktionieren...
Kenne allerdings deine DB Klasse nicht.
Error_reporting() aktiviert?
|
08.08.2009, 22:55:01
|
Anfänger
|
|
Registriert seit: Aug 2009
Alter: 41
Beiträge: 5
|
|
AW: mehrdimensionales Array füllen und auslösen?
Zitat:
Zitat von DokuLeseHemmung
Kenne allerdings deine DB Klasse nicht.
|
Also die beiden die die entscheidend sind, hier mal als Auszug aus der DB Klasse.
PHP-Code:
function __construct($hostname, $username, $password, $database) { $this->starttime = $this->microtime_float(); $this->set_cred($hostname, $username, $password, $database); $this->db_connect(); }
function set_cred($hostname, $username, $password, $database) { $this->hostname = $hostname; $this->username = $username; $this->password = $password; $this->database = $database; }
function db_connect() { $this->mysqli = new mysqli($this->hostname, $this->username, $this->password, $this->database); }
function query($query) { $this->sqlcounter++; $time1 = $this->microtime_float(); $result = $this->mysqli->query($query) or die("Query failed: $query<br><br>" . mysql_error()); $time2 = $this->microtime_float(); $time2 = $this->microtime_float(); $this->dbtime += ($time2 - $time1); $this->rowcounter += sizeof($result); return $result; }
function fetch_array(&$result) { return $result->fetch_array; }
Zitat:
Zitat von DokuLeseHemmung
Error_reporting() aktiviert?
|
Eigentlich ja, wenn sonst was nicht passt, fliegen mir die Fehler immer um die Ohren.
Ich hoffe jemand kann mir noch einen Tipp geben.
Danke & Gruß
|
08.08.2009, 23:00:27
|
SELFPHP Experte
|
|
Registriert seit: Jun 2008
Alter: 16
Beiträge: 2.269
|
|
AW: mehrdimensionales Array füllen und auslösen?
PHP-Code:
$result = $this->mysqli->query($query) or die("Query failed: $query<br><br>" . mysql_error());
Entweder mysql oder mysqli !
Entscheide dich.
Zitat:
Eigentlich ja, wenn sonst was nicht passt,
|
Das heißt wohl NEIN! Oder: "Ist mir egal..."
Setze doch mal bitte dieses an den Anfang des Scriptes:
PHP-Code:
<?php
error_reporting(-1);
ini_set('display_errors', TRUE);
|
09.08.2009, 16:14:33
|
Anfänger
|
|
Registriert seit: Aug 2009
Alter: 41
Beiträge: 5
|
|
AW: mehrdimensionales Array füllen und auslösen?
Zitat:
Zitat von DokuLeseHemmung
PHP-Code:
$result = $this->mysqli->query($query) or die("Query failed: $query<br><br>" . mysql_error());
Entweder mysql oder mysqli !
Entscheide dich.
|
Ok, ich gebe zu, dass war noch ein Fehler, weil ich meine DB Klasse gerade erst von mysql auf mysqli umgestellt habe und dabei noch nicht jede Methode berücksichtigt hatte. Habe ich aber jetzt konsequent auf mysqli umgestellt.
Zitat:
Zitat von DokuLeseHemmung
Das heißt wohl NEIN! Oder: "Ist mir egal..."
Setze doch mal bitte dieses an den Anfang des Scriptes:
PHP-Code:
<?php
error_reporting(-1);
ini_set('display_errors', TRUE);
|
Auch dabei kann ich nicht wirklich widersprechen. Habe den Parameter gesetzt und so gleich auch ein paar Probleme aufgezeigt bekommen. Letztendlich habe ich es jetzt aber lösen können.
PHP-Code:
static function init_BaseSettings()
{
$oDb = new db(DB_HOST, DB_USER, DB_PASS, DB_NAME);
$vresQueryResult = $oDb->query("SELECT name, value FROM basesettings");
$felder = array(array());
while($feld = $oDb->fetch_array($vresQueryResult))
{
$felder[$feld['name']] = $feld['value'];
}
return $felder;
}
Damit wird das Array jetzt korrekt befüllt und ich kann dann auf die einzelnen Basisparameter zurück greifen.
PHP-Code:
$basesettings = array(array());
$basesettings = Helper::init_BaseSettings();
echo $basesettings['url'];
Auf jeden Fall vielen Dank für die Denkanstöße.
Gruß
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 20:21:21 Uhr.
|