Nekasus
Nekasus

Reputation: 15

Python with MySQL connector, no information being sent to database

I am currently trying to send data to my database that is hosted on the web using python. There are no MySql errors being thrown however running in ninja I get this output:

Traceback (most recent call last):
File "/home/nekasus/tryme.py", line 8, in <module>
    port = "3306")        # name of the data base

  File "/usr/lib/python2.7/dist-packages/MySQLdb/__init__.py", line 81,     in Connect
    return Connection(*args, **kwargs)
 File "/usr/lib/python2.7/dist-packages/MySQLdb/connections.py", line 187, in __init__
 super(Connection, self).__init__(*args, **kwargs2)
TypeError: an integer is required

This is my code:

import fakevalues
import MySQLdb
fakevalues.randomnumber()
db = MySQLdb.connect(host="sql8.freemysqlhosting.net",
                     user="sql8167767",   
                     passwd="placeholder",  
                     db="sql8167767",
                     port = "3306")       

cur = db.cursor()

try:
     cur.execute("INSERT INTO hydroponics (ph, electricalconductivity, nutrientsolutiontemperature, nutrientsolutiondepth) VALUES (1, 1, 1, 1)")
except MySQLdb.Error as e:
    print(e)
db.close()

Upvotes: 0

Views: 33

Answers (2)

lapinkoira
lapinkoira

Reputation: 8978

You are missing the commit.

db.commit()

Upvotes: 1

Scott Hunter
Scott Hunter

Reputation: 49803

port needs to be an integer, not a string.

Upvotes: 0

Related Questions