Ergebnis 1 bis 10 von 10

Thema: Datenbank abfrage???????

  1. #1
    jr-coolman
    Gast

    Datenbank abfrage???????

    Also zur zeit habe ich ein problem das mit die ?????? aus dem kopf haut.

    Nehmen wir mal diese zeile:

    PHP-Code:
    db_query("DELETE FROM ".$db_prefix."_traffic_reload WHERE reload_bis<='".time()."'"); 
    Sinn der zeile ist es die Reloadbanner des Surfbars zu löschen sobald sie veraltet sind damit die datenbank nicht zu groß wird.

    das $dbprefix vor der datenbank ersetzt vermutlich das vms.

    Soweit habe ich es verstanden.
    Jetzt habe ich die zeile in die index.php datei eingebaut wie in der Anleitung beschrieben. Dann sah die so aus (In zeile 11 eingefügt):

    PHP-Code:
    <?
    $_GET['content'] = str_replace('.','',$_GET['content']);
    $check = explode("../",$_GET['content']);
    if (isset($check[1]) && $check[1]!='') {
    echo 'Zugriff verweigert!';
    exit;
    }
    @include_once('lib/header.php');
    @include_once('content'.$_GET['content'].'.php');
    @include_once('lib/footer.php');
    db_query("DELETE FROM ".$db_prefix."_traffic_reload WHERE reload_bis<='".time()."'");
    ?>
    Daraufhin habe ich folgende Fehlermeldung laufend bekommen:

    Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'www-data'@'localhost' (using password: NO) in /var/www/web84/html/lib/functions.lib.php on line 40

    Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /var/www/web84/html/lib/functions.lib.php on line 40

    Warning: mysql_query() [function.mysql-query]: Access denied for user 'www-data'@'localhost' (using password: NO) in /var/www/web84/html/lib/functions.lib.php on line 44

    Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /var/www/web84/html/lib/functions.lib.php on line 44
    OK diese fehlermeldung habe ich einfach nicht wegbekommen egal was ich probiert habe ich habe das vms_ noch davor eingefügt.
    Ich habe das $dbprefix rausgenommen.
    Ich habe die Datenbanken gelöscht und neu installiert.
    Ich habe die Datenbanken überprüft also sie sind richtig eigefügt.

    Ok irgendwann habe ich aufgegeben und habe sie in die header.php eigefügt.
    Und zwar so:

    PHP-Code:
    <?
    @require_once ('lib/functions.lib.php');
    db_connect();
    @require_once ('lib/session.lib.php');
    @require_once ('lib/layout.lib.php');
    ###############################
    db_query("DELETE FROM ".$db_prefix."_traffic_reload WHERE reload_bis<='".time()."'");
    ###############################
    Und siehe da. Fehler weg... Im ersten moment habe ich mich ja gefreut.
    Aber dann habe ich gedacht. He moment das war viel zu einfach.
    Und habe die zeile mal spaßeshalber verändert so das sie so aussah:

    PHP-Code:
    db_query("DELETE FROM ".$db_prefix."raffic_reload WHERE reload_bis<='".time()."'"); 
    So jetzt müsste ja wieder ein fehler kommen weil eine Datenbank die raffic heißt giebt es ja nicht.
    Und siehe da es kam kein fehler.
    Jetzt habe ich natürlich einige fragen:

    Warum bekomme ich garkeinen fehler mehr trotz das die zeile unmöglich so funktionieren kann?

    Muss das vms_ jetzt mit in die zeile und das $db_prfix raus oder funktioniert es auch so?

    Und wie kann ich herausfinden ob die zeile jetzt korrekte funktion hat?

    Gruß
    Joachim

  2. #2
    Erfahrener Benutzer
    Registriert seit
    26.01.2007
    Beiträge
    312
    Fehlermeldungen werden doch mit dem @ deaktiviert!?!?
    Entferne mal in der Index überall das @. Was kommt dann?

  3. #3
    Erfahrener Benutzer
    Registriert seit
    22.12.2006
    Beiträge
    526
    Wenn mich nicht alles täuscht, hast du in der anderen datei vergessen eine Verbindung zur Datenbank herzustellen.
    Code:
    db_connect();
    Ich kann mich aber auch täuschen.

  4. #4
    Erfahrener Benutzer Avatar von Gremlin
    Registriert seit
    05.07.2006
    Beiträge
    5.206
    PHP-Code:
    @include_once('lib/footer.php');
    db_query("DELETE FROM ".$db_prefix."_traffic_reload WHERE reload_bis<='".time()."'"); 
    tausche die beiden Zeilen um, in der footer.php wird imho die verbindung mit db_close(); beendet, alles was danach folgt hat keine Verbindung mehr zur db.

    Aus Erfahrung rate ich dir jedoch die Reloads nicht in der index.php zu löschen, sondern diesen Code in einen Cron auszulagern, welcher z.B. 1x am Tag (reicht dicke) ausgeführt wird.

    Gruß
    Gremlin
    Diskutiere nie mit Idioten - sie holen Dich auf ihr Niveau und schlagen Dich dort mit Erfahrung!



  5. #5
    jr-coolman
    Gast
    Die Idee von Gremlin finde ich eigentlich ganz gut.

    Jetzt zur Praktischen umsetzung.
    Da ich ja noch Blutiger anfänger bin gebe ich mal mein bestes und ihr Korrigiert mich.
    Der Cron ist ja nichts weiter wie ein kleine php File.
    Folglich sollte der dann so aussehen oder:

    PHP-Code:
    <?php

    @require_once ('../lib/functions.lib.php');

    db_connect();

    db_query("DELETE FROM ".$db_prefix."_traffic_reload WHERE reload_bis<='".time()."'"); ?>

    ?>
    Jetzt kommen wir zum eintrag in die My SQl datei die verstehe ich nicht so ganz.
    Ich habe mir mal einen Cron eintrag aus der SQL der VMS version rauskopiert und nur den Dateinamen eingetragen des PHP Codes der oben steht.
    Aber das war ja bestimmt noch nicht alles oder?
    Was haben den z.b. die zahlen in der reihe zu sagen?

    Im Moment sieht der MYSQL Code so aus:

    --
    -- Cron einfügen in `vms_crons`
    --


    INSERT INTO `vms_crons` VALUES ('int_forcedbanner', 0, 1112363506, 'crons/surfbarloesch.php', 'Reumt die Surfbar Datenbank auf');

    -- --------------------------------------------------------

  6. #6
    Erfahrener Benutzer Avatar von Gremlin
    Registriert seit
    05.07.2006
    Beiträge
    5.206
    Die Zahlen sind der Timestamp im Uníx Format vom letzten Aufruf

    Im Cron fehlt noch ein

    db_close();
    Diskutiere nie mit Idioten - sie holen Dich auf ihr Niveau und schlagen Dich dort mit Erfahrung!



  7. #7
    jr-coolman
    Gast
    Also so dann:


    PHP-Code:
    <?php

    @require_once ('../lib/functions.lib.php');

    db_connect();

    db_query("DELETE FROM ".$db_prefix."_traffic_reload WHERE reload_bis<='".time()."'"); ?>

    db_close(); 

    ?>
    Und wenn ich noch mal zum MySQl zurück kommen darf.
    Also die Zahln sind Praktisch Irelevant für den eintrag in die Datenbank.
    Aber was ist mit dem hier Farbig markierten bereich.
    Muss der nicht auch anders heißen.

    --
    -- Cron einfügen in `vms_crons`
    --


    INSERT INTO `vms_crons` VALUES ('int_forcedbanner', 0, 1112363506, 'crons/surfbarloesch.php', 'Reumt die Surfbar Datenbank auf');

    -- --------------------------------------------------------

  8. #8
    Erfahrener Benutzer Avatar von Gremlin
    Registriert seit
    05.07.2006
    Beiträge
    5.206
    Das kannst du so lassen, kannst es aber auch ext_cron nennen. Aber ist relativ egal ^^
    Diskutiere nie mit Idioten - sie holen Dich auf ihr Niveau und schlagen Dich dort mit Erfahrung!



  9. #9
    jr-coolman
    Gast
    Prima hat alles geklappt.

    im php Code war noch ein ?> zu viel aber jetzt leuft alles danke.

  10. #10
    Erfahrener Benutzer Avatar von Gremlin
    Registriert seit
    05.07.2006
    Beiträge
    5.206
    Jup das mit dem ?> liegt an der Forensoftware !? wenn man php Tag nutzt aber kein <?php oder ?> etc. nutzt werden die irgendwie automatisch angefügt... muss ich mal iwann ändern..

    Gruß
    Gremlin
    Diskutiere nie mit Idioten - sie holen Dich auf ihr Niveau und schlagen Dich dort mit Erfahrung!



Ähnliche Themen

  1. [SQL] SQL-Abfrage
    Von cg710 im Forum [HD] Programmieren
    Antworten: 2
    Letzter Beitrag: 04.12.2014, 00:45
  2. Abfrage optimieren
    Von Gremlin im Forum [HD] Programmieren
    Antworten: 3
    Letzter Beitrag: 11.09.2008, 18:02
  3. DB - Abfrage mehrerer Tabellen mit einer Abfrage
    Von bulli im Forum [HD] Programmieren
    Antworten: 8
    Letzter Beitrag: 28.05.2008, 19:44
  4. Db mehrfach Abfrage
    Von pr2510 im Forum [HD] Programmieren
    Antworten: 6
    Letzter Beitrag: 19.12.2007, 08:32
  5. Abfrage Problem
    Von Holstenjungs im Forum [HD] Programmieren
    Antworten: 7
    Letzter Beitrag: 28.06.2007, 01:04

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •