Parr Fragen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Creative
User
Beiträge: 22
Registriert: Sonntag 11. Juni 2006, 01:35

Sonntag 11. Juni 2006, 14:36

Moin,
also ich bin noch neu in Python (kann aber schon php) so nun bin ich dran für ein cms ein kleines adminpanal zu schrieben genauer gesagt es soll für den desktop werden sprich ein desktop adminpanal

nun möchte ich mich aber zuerst noch nicht mit GUI´s auseinderesetzen (das kommt wenn ich den code als console am laufen habe)
ich hab aber noch ein parr probleme
also ich fang mal an
1:
wenn ich das "programm" öffne (doppelklick auf de python file) geht die console auf und da kommt auch die abfrage die ich haben möchte nur sobald ich etwas eingeb beendet er die console sofort wieder da fehlt bestimmt was im code nur konnte ich noch nicht herrausfinden was

Code: Alles auswählen

import  MySQLdb 

name = input("Clanname: ") 

conn = MySQLdb.connect(
                        host    ="localhost", 
                        db      ="dzcp_13", 
                        user    ="root", 
                        passwd  ="") 

c = conn.cursor(MySQLdb.cursors.DictCursor) 

query = "UPDATE dzcp_settings SET clanname = '%name'"
c.execute(query)

print +name
ausserdem befürchte ich das ich beim escapen etwas falsch mache kann mir vllt bitte einer erklären wie ich das richtig mache? und ich hab noch eine frage zu

Code: Alles auswählen

input()
ich hab schon öfters gelesen das man es nicht benutzten sollte,wieso den nicht?, ich hab noch

Code: Alles auswählen

raw_input()
gefunden nun spackt der aber rum wenn ich das verwende kann mir vllt auch jemand bei dem problem helfen

MFG Creative
Benutzeravatar
DatenMetzgerX
User
Beiträge: 398
Registriert: Freitag 28. April 2006, 06:28
Wohnort: Zürich Seebach (CH)

Sonntag 11. Juni 2006, 14:45

Code: Alles auswählen

name = str(raw_input("Clanname: ") )
Und ganz am schluss ein

Code: Alles auswählen

os.system("pause")
Musst allerdings das os modul importieren ;)
Creative
User
Beiträge: 22
Registriert: Sonntag 11. Juni 2006, 01:35

Sonntag 11. Juni 2006, 16:16

mein code sieht jetzt so aus

Code: Alles auswählen

import  MySQLdb 
import os
name = str(raw_input("Clanname: ") ) 

conn = MySQLdb.connect(
                        host    ="localhost", 
                        db      ="dzcp_13", 
                        user    ="root", 
                        passwd  ="") 

c = conn.cursor(MySQLdb.cursors.DictCursor) 

query = "UPDATE dzcp_settings SET clanname = '%name'"
c.execute(query)

print +name

os.system("pause")
die mysql abfrage bzw. das update geht nur er schreibt %name rein und nicht die variable ich komme gerade nicht drauf wie er die variable da rein schreibt bzw. ich find nirgends ne anleitung :( kann mir das vllt einer sagen wie das geht? und er bricht immer noch ab dirket nach dem ich bei Clanname den namen eingegeben habe also das print führt er nciht aus bzw. man kann es nicht sehen
cime
User
Beiträge: 152
Registriert: Dienstag 24. Mai 2005, 15:49

Sonntag 11. Juni 2006, 17:03

DatenMetzgerX hat geschrieben:

Code: Alles auswählen

name = str(raw_input("Clanname: ") )
nein, es muss so aussehen:

Code: Alles auswählen

name = raw_input("Clanname: ") 
raw_input gibt einen string zurück. Damit ist es sinnlos noch einmal str() zu verwenden, weil die dann einfach nur ein und dasselbe zurückgibt


ich versteh zwar nicht von mysql, aber ich denke mal du möchtest statt:
Creative hat geschrieben:

Code: Alles auswählen

query = "UPDATE dzcp_settings SET clanname = '%name'"
dieses hier:

Code: Alles auswählen

query = "UPDATE dzcp_settings SET clanname = '%s'"%name
oder:

Code: Alles auswählen

query = "UPDATE dzcp_settings SET clanname = %s"%repr(name)
Creative hat geschrieben:

Code: Alles auswählen

print +name
du muss das + wegnehmen, denn dadurch wird eine exception ausgelöst und das programm unterbrochen (,weshalb sich das fenster sofort schließt und du keine ausgabe siehst).
also:

Code: Alles auswählen

print name
Creative
User
Beiträge: 22
Registriert: Sonntag 11. Juni 2006, 01:35

Sonntag 11. Juni 2006, 17:07

ja genau das wollte cih :) thx jetzt kann ich gleich weiter machen :) big thx
Andy
User
Beiträge: 196
Registriert: Sonntag 1. Januar 2006, 20:12
Wohnort: aus dem hohen Norden....

Sonntag 11. Juni 2006, 19:16

Hallo Creative,

input()
ich hab schon öfters gelesen das man es nicht benutzten sollte,wieso den nicht?, ich hab noch Code: (Python)

raw_input()
gefunden nun spackt der aber rum wenn ich das verwende kann mir vllt auch jemand bei dem problem helfen
Also wie cime schon schrieb, gibt raw_input einen String zurück.
Bei input() könnte Dein Prog.user quasi alles mögliche reinschreiben.
z. B. sowas hier: "os.remove('wichtige_datei.txt')". Und input() würde es auch noch ausführen :!:
Creative
User
Beiträge: 22
Registriert: Sonntag 11. Juni 2006, 01:35

Sonntag 11. Juni 2006, 21:13

heisst der user könnte dan mit meinem programm allen möglcihen driss anstellen wenn ich input nutzen würd?

noch ne kleine frage
also ich will das ergebniss des auslesen aus meiner mysql db nur zeigt er mir das ergebniss nicht an

Code: Alles auswählen

c = conn.cursor(MySQLdb.cursors.DictCursor) 
    query2 = "SELECT clanname FROM dzcp_settings"
    result = c.execute(query2)
    print "Der Aktuelle Clanname: %s" %result
    config = raw_input("Neuen Clanname eingeben: ") 
das ist jetzt nur nen teil meinens codes aber um die ecke gehts ja...kann mir da vllt nochmal einer helfen
Andy
User
Beiträge: 196
Registriert: Sonntag 1. Januar 2006, 20:12
Wohnort: aus dem hohen Norden....

Mittwoch 14. Juni 2006, 18:30

heisst der user könnte dan mit meinem programm allen möglcihen driss anstellen wenn ich input nutzen würd?
Da sach ich ma, joch!


hab v. Datenbankanbindg. noch keine Ahnung.

Kommt eine Fehlermeldung? Wenn nicht, solltest Du vieleicht
ein wenig mehr Code für die Leutz hier im Forum rausrücken.
(kannst den ja ein wenig abändern :wink: ) Oft, steckt nämlich
doch ganz ein anderer Teil dahinter...

Verstehe ich Dich richtig?
Du willst den Clanname aus deiner Db. und diesen über Print ausgeben.
Oder geht dass und Du willst irgendwas mit der config-Zeile anfangen?

Schätze da kann ich Dir nicht allzu viel helfen.
BlackJack

Mittwoch 14. Juni 2006, 22:08

Creative hat geschrieben:

Code: Alles auswählen

c = conn.cursor(MySQLdb.cursors.DictCursor) 
    query2 = "SELECT clanname FROM dzcp_settings"
    result = c.execute(query2)
    print "Der Aktuelle Clanname: %s" %result
    config = raw_input("Neuen Clanname eingeben: ") 
das ist jetzt nur nen teil meinens codes aber um die ecke gehts ja...kann mir da vllt nochmal einer helfen
`execute()` liefert nicht das Ergebnis der SQL-Anweisung zurück. Das musst Du mit einer der `fetch*()` Methoden auslesen.
Antworten