Portál AbcLinuxu, 20. července 2025 19:29


Dotaz: Python a mysql

10.8.2006 19:56 motorcb
Python a mysql
Přečteno: 633×
Odpovědět | Admin
Dobry den. Chtel bych se zeptat jestli nekdo nevi jak rozchodit vypis z mysql databaze v Pythonu pod linuxem Debian. Nasel jsem,ze musim nainstalovat apt-get install python-mysqldb to jsem udelal,ale pak jsem se zasekl.Poradite nekdo? Diky moc
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

10.8.2006 20:11 razor | skóre: 33
Rozbalit Rozbalit vše Re: Python a mysql
Odpovědět | | Sbalit | Link | Blokovat | Admin
myslíš jako vypsat nějaký data z databáze ? Třeba:

import MySQLdb

conn = MySQLdb.connect(user='', host='', db='', passwd='')
cursor = conn.cursor()
cursor.execute('select neco from neco where neco')
for row in cursor.fetchall():
     print row[0]
conn.close()
Ale v dokumentacích toho najdeš tuny.
10.8.2006 20:20 motorcb
Rozbalit Rozbalit vše Re: Python a mysql
Super. Dik za odpoved,ale: Vyhodilo mi to tuhle chybu. Nevite cim by to mohlo bejt?

Error: Could not import module playlist File "/root/playlist.py", line 18 print row[0] ^ IndentationError: expected an indented block Initialization of playlist handler failed. []
10.8.2006 20:29 motorcb
Rozbalit Rozbalit vše Re: Python a mysql
Uz jsem to vyresil.Dik moc!! mas u me pivo. Zapomel jsem odratkovat :) for row in cursor.fetchall(): print row[0] conn.close()
18.7.2007 23:20 pindo
Rozbalit Rozbalit vše Re: Python a mysql cursor.execute('select .....')
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ahojte mohol by mo niekto poradit? Robim si webovy slovnik. Uzivatel na html-ke zvoli nejaky "radio button" oznacujuci jazyk bud ENG->SVK, alebo SVK->ENG a do "edit boxu" zada slovo na hladanie, html-ka posle QUERY_STRING cgi-cku, napisane v python-e, pristupim k MySQL databaze, vsetko slape, ale co je najvacsi problem, ze to slovicko co zadal user na hladanie neviem dat do prikazu=> cursor.execute('select ENG,SVK from LANGUAGES where ENG = "word" '), kde so premennej word ulozim slovo na hladanie, len ho nejak neviem dat do prikazu uvedeneho vyssie.tu je maly vycuc z mojho zdrojaku v pythone.

############ DATBASE CONNECTION ######################BEGIN
db = MySQLdb.connect(host='localhost', user='root', passwd='chriss', db='KJ_dictionary')
cursor = db.cursor()
############ DATBASE CONNECTION ######################END

f = cgi.FieldStorage()
#####################ENGLICH SEARCHING###############
if f.has_key('english') and f.has_key('word'):
word = f['word'].value
hu = 5
print 'hladanie: ',word,'cislo: %d a slovo je : %s' % (hu,word)
print 'ENGLISH LANGUAGE: ',f['english'].value,'WORD= ',f['word'].value
cursor.execute('select ENG,SVK from LANGUAGES where ENG = "word" ')
result = cursor.fetchall()
if not result:
print 'Nenasiel som'
else:
for record in result:
print '1.',record[0],'|||| 2.',record[1],'
'
else:
print 'You must choose language and insert .................

Jednoducho potrebujem aby sa namiesto premennej word sa v prikaze: cursor.execute('select ENG,SVK from LANGUAGES where ENG = "word" ') dalo slovicko na hadanie co zadal uzivatel!!!!

skusal som aj: cursor.execute('select ENG,SVK from LANGUAGES where ENG = "%s" ') % word a nefugovalo???wtf
Jardík avatar 18.7.2007 23:26 Jardík | skóre: 40 | blog: jarda_bloguje
Rozbalit Rozbalit vše Re: Python a mysql cursor.execute('select .....')
cursor.execute("select ENG,SVK from LANGUAGES where ENG = '%s' " % promenna_s_word )
Věřím v jednoho Boha.
Jardík avatar 18.7.2007 23:30 Jardík | skóre: 40 | blog: jarda_bloguje
Rozbalit Rozbalit vše Re: Python a mysql cursor.execute('select .....')
A na to slovíčko použij nějakou fci (jakou nevim), aby když v slovíčku bude znak ' ti tam hodila lomítko (\'), jinak by ti uživatel mohl trochu pozměnit dotaz.
Věřím v jednoho Boha.
19.7.2007 00:06 Messa | skóre: 39 | blog: Messa
Rozbalit Rozbalit vše Re: Python a mysql cursor.execute('select .....')
import MySQLdb
help(MySQLdb)
A dál ať si to najde sám :-)
21.7.2007 12:50 edois
Rozbalit Rozbalit vše Re: Python a mysql cursor.execute('select .....')
zadnou funkci, tohle umi primo mysqldb:

c.execute("SELECT * FROM mysql.user WHERE User=%s AND Host=%s", (user, host, ))

proste tam nesmi byt

% (user, host, )

ale:

, (user, host, )

to to rovnou zaescapuje a obali apostrofama.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.