Frage von DennisR1, 65

Wie lese ich Einstellungen aus einer MySQL DB richtig aus?

Hallo, ich bin momentan dabei mein eigenes CMS zu "erstellen". Nun möchte ich die Settings aus einer MySQL DB auslesen, ich habe eine Tabelle erstellt mit zwei Spalten einmal "name" und einmal "value". Dazu habe ich folgenden Beitrag gefunden der genau mein Problem beschreibt, leider funktioniert die dort aufgeführte Lösung nicht bei mir.

http://phpforum.de/forum/showthread.php?t=260727

PHP Code:

$result = mysqli_query($db_link, "SELECT `name`, `value` FROM `index`");
$settings = array();
while ($row = mysql_fetch_assoc($result)) {
    $settings[$row['name']] = $row['value'];
}

Mit freundlichen Grüßen Dennis

Antwort
von DerCo, 47

Glaub ich dass das nicht funktioniert, denn der Befehl ist zum Lesen nicht zum Schreiben.

mysql.com - erstmal mysql(i) lernen - oder lieber doch auf eine ini umsteigen (diese aber mit .htaccess sperren!)

Kommentar von DennisR1 ,

Sorry, hab es im Titel richtig aber im Text falsch. ich meine auslesen und nicht speichern.

Kommentar von DerCo ,

ah okay :-D Aber geschrieben hast du die Werte?
Hast du Error_reporting an?

wo ist das Fehlerhandling?

was gibt print_r($settings) nach der Schleife aus?

Kommentar von DerCo ,

Übrgens ist "index" als Tabellenname ziemlich unglücklich, Digger :-)

"index" is a reserved word ;-) Nenn die Tabelle anders - aber nicht "config", das wäre  genauso schlecht.

<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
session_start();
//
// hier noch dein DB-Connector
//
$result = mysqli_query($db_link, "SELECT `name`, `value` FROM `index`") or die(mysql_error());
// or die() nur für Developement!

$settings = array();
echo mysqli_num_rows($result)." Zeilen aus der Datenbank gelesen";
while ($row = mysql_fetch_assoc($result)) {
$settings[$row['name']] = $row['value'];
}

print_r($settings);
?>
Kommentar von DennisR1 ,

Danke, das Problem war das fehlende "i" bei "mysql_fetch_assoc"

Kommentar von DerCo ,

huch? Hab ich das echt übersehen :-D Aber "index" als Tabellenname - gaaaaanz schlechte Idee, believe me.

Kommentar von DennisR1 ,

OK, Danke.

Keine passende Antwort gefunden?

Fragen Sie die Community