CGI Python med MySQL?

Tags:    diverse

Er igang med at lave en hjemmeside i Python, med CGI.
Har fået lavet designet osv. og er nu kommet til systemerne.

Problemet er at jeg ikke rigtigt kan få connectet til en MySQL-database.
Har været en masse tutorials, guides og færdige koder igennem uden held.

Har prøvet lidt med:
Fold kodeboks ind/udKode 

og:
Fold kodeboks ind/udKode 


- uden held!

Til det første eksempel får jeg fejlen:
ImportError: No module named mysqldb
args = ('No module named mysqldb',)


Nogen der kan komme med et lille færdigt eksempel bare lige hvor det connecter.



Har du downloadet og instaleret MySql for Python?

Ellers gør det her:
http://sourceforge.net/projects/mysql-python



Denne kode ser ud til at virke:

Fold kodeboks ind/udKode 


Jeg ved intet om MySQL eller andre DB'er



Har du downloadet og instaleret MySql for Python?

Ellers gør det her:
http://sourceforge.net/projects/mysql-python


Har skam prøvet.
Jeg downloadede MySQL-python.exe-1.2.0.win32-my4.0-py2.3.exe - men da jeg havde modtaget og prøvede at indstallere fik jeg at vide at man skulle have installeret Python 2.3, men jeg har 2.4, så burde det ikke stadig virke?

Du sagde at den ene kode virkede, hvordan ved du det? Har du da downloadet MySQL, hvis ja, så hvilken en af dem?

Og skal man have installeret MySQL på ens pc, før man kan se siden ordenligt, altså med det hele?



EDIT: Har downloadet Python 2.3, og kan nu installere det der MySQL-Python.
Problemet er nu bare at online, "kører" den stadig over Python 2.4, så MySQL altså ikke virker...

ImportError
Python 2.4: C:\\Program Files\\Python24\\python.exe
Thu Mar 02 16:35:37 2006

A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.

d:\\domains\\zeant.dk\\wwwroot\\v0id\\MySQL.py
2 import MySQLdb
3
4 def MySQL():
5 SQLDatabase = "*****"
6 SQLHost = "localhost"

MySQLdb undefined

ImportError: No module named MySQLdb
args = ('No module named MySQLdb',)


Siden kan i øvrigt ses på: www.v0id.zeant.dk/MySQL.py

Men hvordan skifter jeg over til 2.3?
Vil helst ikke slette 2.4, da jeg ikke får fejl i den mere, fordi jeg har downloadet wxPython, som har lavet et eller andet.
Og i 2.3, får jeg samme fejl som jeg fik i 2.4 dengang.
http://udvikleren.dk/thread.php?techid=5&f=5&t=807
ELLER
skal jeg prøve at flytte MySQL-site-packagesne fra 2.3 over til 2.4 og se hvis det virker?

-Håber virkeligt at nogen kan hjælpe!



Indlæg senest redigeret d. 12.01.2009 07:00 af Bruger #8422
Jeg bruger normalt:

Fold kodeboks ind/udKode 

Til at connecte, (din første kode så noget tvivlsom ud..).

Så vidt jeg kan huske havde jeg også problemer med MySQLdb da jeg brugte windows, jeg installerede vidst bare Python 2.3.
Jeg vil foreslå dig at bruge kommando linjen til at teste istedet, via cmd programmet, så kan en server/cgi-script fejl i hvert fald tildels udelukkes.





Jeg bruger normalt:

Fold kodeboks ind/udKode 

Til at connecte, (din første kode så noget tvivlsom ud..).

Så vidt jeg kan huske havde jeg også problemer med MySQLdb da jeg brugte windows, jeg installerede vidst bare Python 2.3.
Jeg vil foreslå dig at bruge kommando linjen til at teste istedet, via cmd programmet, så kan en server/cgi-script fejl i hvert fald tildels udelukkes.



Vil prøve at teste lidt i kommandoprompten.

Men hjælper jo ikke helt så meget da jeg jo stadig skal have det hele online?




Jeg bruger:
Python 2.4.1
MySQL Server 4.1
Og den samme version af Python MySQL som dig.
Altsammen på windows xp.

Når jeg kører det script som jeg postede skriver den en stor mængde html kode og afslutter med:

Fold kodeboks ind/udKode 


I mine ukyndige øjne ser det udsomom der manger at blive oprettet en db, men det er vel ikke pga. python scriptet.



Jeg bruger:
Python 2.4.1
MySQL Server 4.1
Og den samme version af Python MySQL som dig.
Altsammen på windows xp.

Når jeg kører det script som jeg postede skriver den en stor mængde html kode og afslutter med:

Fold kodeboks ind/udKode 


I mine ukyndige øjne ser det udsomom der manger at blive oprettet en db, men det er vel ikke pga. python scriptet.


Grunden til at den viser alle de HTML-koder er at jeg har sat
[kode]
import cgitb; cgitb.enable()
[/kode]
- som kan bruges til at vise fejl online.
Men når den kører i en prompt viser den selvfølgelig kun koderne.

Ang. db'en er det fordi at du har brugt mit script.
Man skal jo bytte DATABASE_HER ud med et database-navn, og HOST_HER ud med host osv. Grunden til at jeg ikke har skrevet det rigtige i koden er at I ikke må få kode, brugernavn osv. til MySQL-databasen :)




Det jeg på min vanlige kluntede måde forsøgte at sige var at det i mine øjne ser ud somom python og mysql snakker fint sammen.



Det jeg på min vanlige kluntede måde forsøgte at sige var at det i mine øjne ser ud somom python og mysql snakker fint sammen.

Nåår, hehe. Det havde jeg ikke lige tænkt på, men det har du ret i, nu når jeg ser igen.




t