Seite 1 von 1
Parr Fragen
Verfasst: Sonntag 11. Juni 2006, 14:36
von Creative
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
ich hab schon öfters gelesen das man es nicht benutzten sollte,wieso den nicht?, ich hab noch
gefunden nun spackt der aber rum wenn ich das verwende kann mir vllt auch jemand bei dem problem helfen
MFG Creative
Verfasst: Sonntag 11. Juni 2006, 14:45
von DatenMetzgerX
Und ganz am schluss ein
Musst allerdings das os modul importieren
Verfasst: Sonntag 11. Juni 2006, 16:16
von Creative
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
Verfasst: Sonntag 11. Juni 2006, 17:03
von cime
DatenMetzgerX hat geschrieben:
nein, es muss so aussehen:
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:
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:
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:
Verfasst: Sonntag 11. Juni 2006, 17:07
von Creative
ja genau das wollte cih
thx jetzt kann ich gleich weiter machen
big thx
Verfasst: Sonntag 11. Juni 2006, 19:16
von Andy
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
Verfasst: Sonntag 11. Juni 2006, 21:13
von Creative
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
Ergebnis anzeigen
Verfasst: Mittwoch 14. Juni 2006, 18:30
von Andy
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
) 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.
Verfasst: Mittwoch 14. Juni 2006, 22:08
von BlackJack
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.