selfhtml.de - Alles für den Webmaster!

 

Empfehlung:

wix.com

Kostenlose Homepage

Besuchen Sie auch:

Jobs:

Re: MYSQL Abfrage welche ID ein bestimmter Pointer besitzt

Autor: laza86 [Beiträge: 448]
Datum: 17.04.2015 12:45:43

> Okay, ich war ein paar Tage nicht da und hab
> jetzt gerade wenig Zeit mich ganz rein zu denken.
> Aber ein paar Gedanken dennoch:
>
> Wenn ich es richtig verstanden habe, was in
> Deinem Statement steht, dann benutzt Du da einen
> Hack einer Oracle Funktion, die es in MySQL nicht
> gibt und die mit diesen Rownum Variablen
> nachgebildet wird.
> Zusammen mit Deiner Beschreibung verstehe ich das
> nun so, dass Du das machst, weil Deine ID wegen
> Löschungen nicht fortlaufend ist und Du deshalb
> mit einem +1 oder -1 nicht verlässlich auf den
> vorhergehenden oder nachfolgenden Satz zeigen
> könntest. Richtig? Das ist aus meiner Sicht gar
> nicht nötig.
>
> Dein Statement, das ich aber nicht bis ins letzte
> verstehe, macht nach meiner Recherchen
> folgendes:
>
> Suche eine Datenmenge - > Sortiere diese
> Datenmenge -> Nummeriere diese sortierte
> Datenmenge neu -> Suche aus der nummerierten
> Datenmenge eine Nummer heraus.
>
>
> Vorrausgesetzt, dass Du den Vorgänger und
> Nachfolger ermitteln willst, genügt es doch zu
> schreiben
>
> SELECT * FROM table WHERE ID <= 6 ASC LIMIT 2
>
> Du erhältst 2 Datensätze. Da aufsteigend sortiert
> wird und nur zwei Datensätze gefunden werden,
> erhältst Du Datensatz Nr. 5 und als nächstes Nr
> 6. Gesucht war Nummer 6 und folglich ist Nr. 5
> der Vorgänger.
>
> Ein zweites Statement mit > statt < ergibt
> wieder Nr 6. und als Nachfolger Datensatz Nr.
> 10.
>
> Zwei einfache Abfragen statt einer besonders
> komplizierten.
>
> Brauchst Du dann in der Datenausgabe eine
> fortlaufende Nummerierung, kann das in der
> Auswerteschleife mit einem einfachen Zähler
> bewerkstelligt werden.

Lustig, genau so habe ich es auch gemacht. Mit zwei Abfragen und "<=".
Vielleicht hat ja mal jemand ein ähnliches Problem.


> Die Unterschiede sind marginal. MySQLi ist
> objektorientiert und hat eine Funktionsweise, die
> deutlich abgehärteter gegen Angriffe ist, als
> bisher. Man kann sogar weitgehend die Syntx
> beibehalten, nur manche Anweisung braucht
> manchmal einen weiteren Parameter, dann funzt
> MySQLi auch nach dem alten prozeduralen Stil. Bei
> mir hat das Verstehen und umschreiben keine 20
> min gedauert.
> Ob die prozedurale Verwendung von MySQLi die
> Sicherheitsvorteile voll zum Tragen bringt, kann
> ich Dir noch nicht sagen, dazu bin ich in der
> Objektorientierung noch zu neu und stelle gerade
> alles schrittweise darauf um, schon weils im
> Endeffekt effizienter und übersichtlicher wird.
>
> Hauptgrund für den Umstieg ist aber, dass bei den
> PHP-Umgebungen oberhalb 5.x die Unterstützung für
> MySQL von vielen Providern deaktiviert wird. Da
> PHP 4.x nicht auf dem aktuellen Sicherheitsstand
> ist, wird es also höchste Zeit umzustellen.

Danke Matthias für die Info!


Beiträge

Antwort schreiben

Username: Usernamen registrieren
Passwort: Passwort vergessen?
Thema:
  Bitte benutze für deinen Beitrag die Groß-/Kleinschreibung!
Beitrag:
Link (URL):
Titel für Link:
Grafik (URL):
  Die Breite der Grafik darf 468 Pixel nicht überschreiten.
 
E-Mail-Benachrichtigung:



Zum Abschicken deines Beitrags bitte die Schaltfläche "Abschicken" nur einmal anklicken und warten. Der Server braucht manchmal einige Zeit, bis er den Beitrag in die Datenbank übernommen hat. Wenn du die Schaltfläche mehrmals drückst, erscheint dein Beitrag auch mehrmals im Forum.

Bewerten Sie Ihren Webhosting-Provider

Webhosting Provider bewerten und Apple iPad gewinnenWie zufrieden sind Sie mit Ihrem Webhosting-Provider? Gibt es Probleme beim Service, mit der Performance oder der Abrechnung?

Teilen Sie jetzt Ihre Erfahrungen mit anderen Webmastern und schreiben Sie eine Provider-Bewertung. Mit etwas Glück können Sie ein Apple iPad gewinnen!

Weitere Informationen und Teilnahme...