Einzelne Felder einer MySQL Tabelle auslesen

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Benutzeravatar
__blackjack__
User
Beiträge: 13882
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@TorstenVoelker: Du zeigst keinen lauffähigen Python-Code der das Problem zeigt und auch Deine PHP-Codeschnippsel sind kein lauffähiger PHP-Code. `mysql_fetch_array()` & Co sind zudem seit PHP 5.5 veraltet und seit PHP 7 nicht mehr verfügbar.
“Man wirft uns vor, wir hätten kein Programm, das Programm sei nicht umsetzbar, und die anderen Parteien hätten das alles auch im Programm.“ — Pavel Mayer, Piratenpartei
TorstenVoelker
User
Beiträge: 91
Registriert: Mittwoch 5. Februar 2025, 12:55

Wer den Morgen Abend mal reinsetzen .

Danke im Voraus .

Ich wollte einfach nur wissen wie man einzelne Elemente einer Tabelle ausliest eines User .

Ist ja nicht schwer zu verstehen .

Das Script funktioniert ja soweit Ebend nur das er alles ausgibt von den User . Abrr er ich will die einzelnt verschachteln in einer Tabelle .

Zum Thema Buch, ich habe das Python 3 Buch von Peter Kaiser und das ist richtig gut .

Habe gelernt Klassen zu erstellen Funktion etc. außer MySQL wurde da zu wenig erklärt .
Benutzeravatar
__blackjack__
User
Beiträge: 13882
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@TorstenVoelker: Die DB V2 API definiert als kleinsten gemeinsamen Nenner eine Sequenz pro Datensatz, also Beispielsweise ein Tupel. Einige Datenbankmodule ermöglichen es andere Datentypen zu liefern, in dem man das angibt. Einige liefern Objekte die sich sowohl wie eine Sequenz verhalten, und zusätzlich die einzelnen Bestandteile als Attribute und/oder eine Wörterbuch-API anbieten. mysql/connector hat da mehrere Möglichkeiten, die in der Dokumentation von dem Modul stehen. Ansonsten kann man sich auch selbst etwas auf Basis der DB V2 API basteln, beispielsweise in dem man mit Hilfe der Infos aus dem `description`-Attribut vom Cursor aus einzelnen Datensätzen Wörterbücher mit den Daten erstellt.
“Man wirft uns vor, wir hätten kein Programm, das Programm sei nicht umsetzbar, und die anderen Parteien hätten das alles auch im Programm.“ — Pavel Mayer, Piratenpartei
TorstenVoelker
User
Beiträge: 91
Registriert: Mittwoch 5. Februar 2025, 12:55

__blackjack__ hat geschrieben: Montag 24. Februar 2025, 21:37 @TorstenVoelker: Die DB V2 API definiert als kleinsten gemeinsamen Nenner eine Sequenz pro Datensatz, also Beispielsweise ein Tupel. Einige Datenbankmodule ermöglichen es andere Datentypen zu liefern, in dem man das angibt. Einige liefern Objekte die sich sowohl wie eine Sequenz verhalten, und zusätzlich die einzelnen Bestandteile als Attribute und/oder eine Wörterbuch-API anbieten. mysql/connector hat da mehrere Möglichkeiten, die in der Dokumentation von dem Modul stehen. Ansonsten kann man sich auch selbst etwas auf Basis der DB V2 API basteln, beispielsweise in dem man mit Hilfe der Infos aus dem `description`-Attribut vom Cursor aus einzelnen Datensätzen Wörterbücher mit den Daten erstellt.
Vielen Dank für die Information!
Benutzeravatar
noisefloor
User
Beiträge: 4118
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

wie man an einzelne Daten kommt hatte ich dir schon geschrieben... musst du "nur" lesen und umsetzen. Oder _konkret_ Fragen, wenn du was nicht verstehst.

Buch: Wenn du das Buch hast https://www.rheinwerk-verlag.de/python- ... gAgZZkUAcF: das hat einen legendär schlechten Ruf hier im Forum, weil es in Teilen schlechtes / unpythonisches Python zeigt und die Autoren es über mehrere Auflagen nicht geschafft haben, Fehler zu korrigieren. Also man kann damit schon lernen, wenn man bereit ist, bestimmt Sachen später richtig zu lernen und das, was in Teilen im Buch steht, einfach zu vergessen. Und abgesehen davon: nur mit dem / einen Buch lernen geht auf gar keinen Fall. Du _musst_ parallel in der Python Doku lesen und in den Doku der von der verwendeten Python-Module. Sonst bleibst du sehr früh auf einem sehr niedrigen Niveau hängen.

Gruß, noisefloor
TorstenVoelker
User
Beiträge: 91
Registriert: Mittwoch 5. Februar 2025, 12:55

noisefloor hat geschrieben: Samstag 22. Februar 2025, 17:46 Hallo,

hat @Sirius3 doch in seinem Post viewtopic.php?p=433107#p433107 gezeigt / verwendet.

Gruß, noisefloor
Danke für den Hinweis und für den Rat nur bin ich mit den hash noch nicht vertraut was das alles bedeutet und welche Auswirkung der Befehl hat ..
Benutzeravatar
__blackjack__
User
Beiträge: 13882
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@TorstenVoelker: Das hat doch mit der Abfrage der Daten nichts zu tun, und eine Anmeldung macht lokal doch sowieso keinen Sinn.
“Man wirft uns vor, wir hätten kein Programm, das Programm sei nicht umsetzbar, und die anderen Parteien hätten das alles auch im Programm.“ — Pavel Mayer, Piratenpartei
Benutzeravatar
noisefloor
User
Beiträge: 4118
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,
nur bin ich mit den hash noch nicht vertraut was das alles bedeutet und welche Auswirkung der Befehl hat ..
Das ist doch auch total egal für dich. Relevant sind die beiden Zeilen:

Code: Alles auswählen

cursor.execute("SELECT hashed_password FROM accounts WHERE username = %s", [username])
result = cursor.fetchone()
Die beantworten deine Frage. Wenn du die beiden Zeilen nicht verstehst: was verstehst du nicht? Kannst du das nicht auf deine Anwendung übertragen? Das sind wirklich Basics, die du verstehen musst, sonst wird das mit dir, Python und der Datenbankabfrage nichts.

Apropos Datenbank: brauchst du eine netzwerkfähig Datenbank, die parallele Schreibzugriffe unterstützt? Wenn nein -> nimm' SQLite. Das ändert zwar am Prinzipiellen Vorgehen nichts, aber du hast viel mehr Doku zu Python, SQLite und der DB API 2.0 Schnittstelle in der Python Doku. Ich glaube, dass könntest du gut gebrauchen.+

Gruß, noisefloor
Benutzeravatar
DeaD_EyE
User
Beiträge: 1196
Registriert: Sonntag 19. September 2010, 13:45
Wohnort: Hagen
Kontaktdaten:

sparrow hat geschrieben: Dienstag 18. Februar 2025, 19:05 Ich würde dazu raten, etwas wie SQLAlchemy zu verwenden und ein Webframework wie Django oder Flask, wenn es eine Webanwendung sein soll.
Das habe ich mal auf einem RPi 0 W gemacht und habe mich dafür gehasst. Bis das Programm geladen war, vergingen ca. 10 Sekunden. Wozu? Für eine einfache sqlite3-Datenbank. Das war sowas von überflüssig.
Wenn man doch nur ein Feld aus der DB haben möchte, verwendet man kein ORM. Das ist, wie mit Kanonen auf Spatzen schießen. Kann man machen :D
sourceserver.info - sourceserver.info/wiki/ - ausgestorbener Support für HL2-Server
Benutzeravatar
__blackjack__
User
Beiträge: 13882
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@DeaD_EyE Ich würde mich auch dafür hassen einen RPi 0 W für ein Finanzbuch zu verwenden. Ernsthaft: Das Teil hat einen langsamen Prozessor und eine noch lahmarschigere SD-Karte als Massenspeicher und sollte nicht Basis für Tipps für die Entwicklung von Desktop-Anwendungen sein. Sonst könnte man auch anfangen Python für Desktopanwendungen in Frage zu stellen weil C viel effizienter auf Mikroprozessoren ist. 😇
“Man wirft uns vor, wir hätten kein Programm, das Programm sei nicht umsetzbar, und die anderen Parteien hätten das alles auch im Programm.“ — Pavel Mayer, Piratenpartei
TorstenVoelker
User
Beiträge: 91
Registriert: Mittwoch 5. Februar 2025, 12:55

Guten Abend, ich brauche mal kurz Hilfe .

Ich habe es soweit geschafft mir ein kleines finanzbuch zu bauen aber ich hänge an einen Teil fest .

Ich habe ein Eingabefeld also ein Entry und das soll mein Name natürlich eingetragen werden und jetzt will ich es so machen wenn der username username ist gibt mir die Daten . Ich habe es Manuel getestet also select username Form Daten where username = 'Thorsten' das geht aber ich will jetzt die variable da einbauen wie mache ich das ?

Lg
Sirius3
User
Beiträge: 18185
Registriert: Sonntag 21. Oktober 2012, 17:20

Du mußt ja nur drei Beiträge nach oben scrollen: viewtopic.php?p=433203#p433203
Wobei SELECT-Befehl so keinen Sinn macht. Warum willst Du den username wissen, den Du ja als Parameter in im where-Ausdruck schon hast?
TorstenVoelker
User
Beiträge: 91
Registriert: Mittwoch 5. Februar 2025, 12:55

Danke nochmal für den Hinweis.
Ich habe mich für den 07.04 bei einen Kurs angemeldet wo ich komplett 4 Wochen in einen ganztags Unterricht es lernen werde . So das ich alles über Klassen weiß Funktion MySQL etc.

Weil ich will es unbedingt lernen und Bücher habe ich gemerkt bringen einen ein Stück voraus aber nicht direkt ans Ziel .

Soweit verstehe ich Python schon damit umzugehen aber es gibt sehr oft Hürden wo man stecken bleibt .
Das habe ich den Kurs Leiter so erklärt. Er meinte nach dem Seminar werde ich selber Anwendungen schreiben können mit Klassen etc .
Antworten