WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik



Im Homepage und Webhosting-Forum --- Auslesen aus Datenbank funktioniert nicht (bzw. teilweise)

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.

Forum » PHP & MySQL » Auslesen aus Datenbank funktioniert nicht (bzw. teilweise) Antworten
im Forum für Webhosting Homepage gefunden:
Auslesen aus Datenbank funktioniert nicht (bzw. teilweise)
Reo
Pixelschubser
Threadstarter




Beiträge: 3

Ich habe folgendes Problem:

Ich möchte aus einer Datenbank Zeilen auslesen, die allerdings gewissen Restriktionen unterliegen.

Mein Befehl sieht folgendermaßen aus:

$datevergleich = time()-2592000;

SELECT * FROM `tabelleX` WHERE `name`='$gruppe[aktuell]' AND (`an`='$user' OR `von`='$user' OR `an`='Alle') AND `zeitpunkt`>'$info[gelesenbis]' AND `zeitpunkt`>'$datevergleich' ORDER BY `zeitpunkt` DESC";

Vorher war es so, dass jeder Nutzer einstellen konnte, bis wann seine Texte angezeigt werden sollen. Das funktioniert soweit auch wunderbar. Nun habe ich eine weiter Restriktion eingebaut, nämlich die Letzte (`zeitpunkt`>'$datevergleich').

Diese soll bewirken, dass höchtens nur noch die letzten 30 Tage angezeigt werden.

Aber das funktioniert nicht, dass heißt, es wird immer noch alles angezeigt wie vorher.
Manche Nutzer haben mir aber mitgeteilt, dass es bei Ihnen funktioniert.

Wie ist das möglich??


Danke schon einmal für die Hilfe.

Viele Grüße,
Frank

  Profil   E-Mail   Editieren   Zitieren
subjective
Forenheld




Beiträge: 844

Laß dir mal das SQL ausgeben, welches du da zusammenbaust, dann entdeckt man Fehler deutlich einfacher.

---
Weaverslave

  Profil   Website   Editieren   Zitieren
Reo
Pixelschubser
Threadstarter




Beiträge: 3

Die Anfrage in phpmyadmin eingegeben funktioniert so wie es soll.

Ein mögliches Problem könnten die Timestamps sein... ?

Allerdings ist dann immer noch nicht geklärt wie es sein kann, dass es bei manchen Usern geht und bei manchen nicht...

In wie fern kann System oder Browser für solche "Fehler" verantwortlich sein?

Wenn es ein Programmierfehler wäre, dürfte es bei niemandem funktionieren...

  Profil   E-Mail   Editieren   Zitieren
subjective
Forenheld




Beiträge: 844

Die Anfrage in phpmyadmin eingegeben funktioniert so wie es soll.


Stimmt nicht - du hast eine Anfrage eingegeben - da du das SQL dynamisch zusammenbaust, gibt es die Anfrage gar nicht. Prüfe welche von PHP dort zusammengebaut wird, wenn der Fehler auftritt. Hier im Forum hast du bisher noch keine Anfrage gepostet, nur PHP-Code.

Grundsätzlich erstmal sind weder Timestamps (in welchem Format auch immer), noch Browser verantwortlich. Ich vermute eher das eine der Variablen einen ungültigen Wert enthält.

Daher nochmal die Aufforderung. Laß dir im Fehlerfall das SQL ausgeben und prüfe es.

*btw* nur am Rande $gruppe[aktuell] ist unsauber - {$gruppe['aktuell']} wäre korrekter (man kann alternativ auch den String unterbrechen). Schalte mal das Error-Reporting auf E_ALL, dann siehst du sicher eine Menge möglicher Fehlerquellen.

---
Weaverslave

  Profil   Website   Editieren   Zitieren
Reo
Pixelschubser
Threadstarter




Beiträge: 3

Prüfe welche von PHP dort zusammengebaut wird, wenn der Fehler auftritt.


Es tritt ja in dem Sinn kein Fehler auf...

*btw* nur am Rande $gruppe[aktuell] ist unsauber - {$gruppe['aktuell']}


Warum ist das unsauber?

Schalte mal das Error-Reporting auf E_ALL


Ich weiß nicht wo man das Einstellt.

------------
Die Variablen sind richtig gefüllt, denn es wird ja soweit alles richtig angezeigt.

Er ignoriert (scheinbar nicht bei jedem User) NUR die letzte Restriktion.

`zeitpunkt`>'$datevergleich'

  Profil   E-Mail   Editieren   Zitieren
subjective
Forenheld




Beiträge: 844

Ein "Ignorieren" ist auch ein Fehler und du kannst darauf natürlich im PHP prüfen. Du kannst ja auch im PHP gucken ob Daten kommen die dieser Bedingung nicht entsprechen. Außerdem war das schon wieder PHP-Code und kein SQL.

Das Error-Reporting definiert man in der php.ini oder durch Aufruf der funktion error_reporting(). Dann sollte PHP auch über deine Array-Schreibweise schimpfen, da du die Array-Schlüssel nicht als Strings auszeichnest, sondern als Konstanten einträgst (bei nicht definierten Konstanten nimmt PHP den Namen der Konstante als String)

---
Weaverslave

Diese Nachricht wurde geändert von: subjective
  Profil   Website   Editieren   Zitieren
 

Antworten
Forum » PHP & MySQL » Auslesen aus Datenbank funktioniert nicht (bzw. teilweise)

Aktuelle Beiträge zur Hilfe im Forum für Homepage - Auslesen aus Datenbank funktioniert nicht (bzw. teilweise) im Forum Homepage Hosting AntwortenLetztes Posting
Best online slots
in "PHP & MySQL"
0 23.01.2023 22:40 von Sevetr
Rangliste (Ohne Mysql) (Kompliziertes Ordner System)
in "PHP & MySQL"
3 19.07.2021 06:00 von newtopblog
kleines problem mit phpadmin
in "PHP & MySQL"
5 11.04.2021 22:22 von Zavylon
Counter mit PHP
in "PHP & MySQL"
4 22.03.2021 16:29 von Robeni
Fehlermeldung beim Importieren der Datenbank in phpmyadmin
in "PHP & MySQL"
0 02.08.2019 22:14 von iFuchs
CMS für Online Shop
in "PHP & MySQL"
18 26.05.2019 13:29 von raiserle
Regestrierungproblem
in "PHP & MySQL"
3 28.11.2018 13:20 von norbertofahey
PHP Datum ausgeben?
in "PHP & MySQL"
1 19.10.2018 10:04 von Klaus1973
PHP befehl ausführen
in "PHP & MySQL"
11 16.08.2018 09:08 von Klaus1973
Visual Composer selber programmieren?
in "PHP & MySQL"
0 22.01.2017 23:45 von Redji
php preg_replace_callback für dynamischen Link
in "PHP & MySQL"
0 05.07.2016 11:02 von Rm21
PHP Code verschlüsseln
in "PHP & MySQL"
20 21.02.2016 21:25 von Kilian1
migrierter WP-Blog läuft nicht ...
in "PHP & MySQL"
0 04.02.2016 02:01 von Oxygon



Besucher : 7975196    Heute : 147     Gestern : 388     Online : 42     29.3.2024    11:00      0 Besucher in den letzten 60 Sekunden        
Nach oben